Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript $resources中的标题未更新_Javascript_Angularjs - Fatal编程技术网

Javascript $resources中的标题未更新

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',

在本例中,我试图发送一个标头,其中每个HTTP都包含一个ngResource auth令牌

这是一些有效的方法:

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"
    }
  }
]);