如何使用Angular Interceptor保存和设置每个请求的标头

时间:2016-02-26 00:02:58

标签: angularjs header session-cookies angular-http-interceptors

我尝试设置令牌身份验证,但似乎无法找到保存服务器将我发送到Cookie的标头的好方法。然后,我需要从cookie中读取该值并将其读入新的请求标头。

我正在使用Angular 1.5

这是我尝试使用的一些简单代码:

os.config(['$httpProvider', function ($httpProvider) {

  return {
   'request': function(config) {

       var access_token = $cookies.get('access-token');
       var token_type = $cookies.get('token-type');
       var client = $cookies.get('client');
       var uid = $cookies.get('uid');

        $httpProvider.defaults.headers.post['access-token'] = access_token;
        $httpProvider.defaults.headers.post['token-type'] = token_type;
        $httpProvider.defaults.headers.post['client'] = client;
        $httpProvider.defaults.headers.post['uid'] = uid;

    },

    'response': function(response) {

       $cookies.put('access-token', 'oatmeal');
       $cookies.put('token-type', 'oatmeal');
       $cookies.put('client', 'oatmeal');
       $cookies.put('uid', 'oatmeal');

    }
  };

}]);

编辑:人们一直在评论试图向我展示如何设置标题。正如您在示例中所看到的,我可以轻松地做到这一点。我需要做的是在我发出请求后保存响应标头。这些需要保存到我的问题所涉及的cookie中。

我对一种方法感兴趣,这种方法并不要求我在每个单独的API请求的.then部分运行某些功能,这不是干的,看起来像是疯了。

0 个答案:

没有答案