Javascript $resources中的标题未更新
在本例中,我试图发送一个标头,其中每个HTTP都包含一个ngResource auth令牌 这是一些有效的方法:Javascript $resources中的标题未更新,javascript,angularjs,Javascript,Angularjs,在本例中,我试图发送一个标头,其中每个HTTP都包含一个ngResource auth令牌 这是一些有效的方法: app.factory('User', ['$resource','$window', function($resource,$window,liftHost, liftBasePath) { return $resource('/api/users/:id',{},{ get: { method: 'GET',
app.factory('User', ['$resource','$window',
function($resource,$window,liftHost, liftBasePath) {
return $resource('/api/users/:id',{},{
get: {
method: 'GET',
headers: {'token': $window.sessionStorage.token}
}
});
}]);
这段代码的问题是,在第一次调用之后,每个GET请求将具有相同的头值。它不会被重新评估。因此,如果用户注销,然后重新登录,这将更改$window.sessionStorage.token的值,但请求将使用令牌的先前值发送
我用$httpBackend mock创建了一个小plunker来说明它
请参阅:这是一个与此工作相关的示例
我引入了一个令牌服务,它被注入到用户和会话服务中。这比依赖$window服务要干净一些。此外,我将标记设置为对象,而不是原始字符串。这允许通过引用而不是值传递令牌
app.factory('Token', [
function() {
return {
value: "a"
}
}
]);