angularjs – Angular Js – 标题默认设置标记

前端之家收集整理的这篇文章主要介绍了angularjs – Angular Js – 标题默认设置标记前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我试图添加一个标题与我的访问令牌到每个API调用.它适用于所有的GET请求,但是一旦我尝试发出POST,则不会添加头.

以下是我如何添加令牌:

app.factory('api',function ($http,$cookies) {
return {
    init: function (token) {
        $http.defaults.headers.common['Token'] = token || $cookies.loginTokenCookie;
    }
  };
});

从这里得到的是:

app.run(function ($cookies,$http,$location,$rootScope,api) {
    $rootScope.location = $location;
    api.init();
});

我试过这样做,如下所示:

app.factory('api',$cookies) {
return {
    init: function (token) {
        $http.defaults.headers.common['Token'] = token || $cookies.loginTokenCookie;
        $http.defaults.headers.post['Token'] = token || $cookies.loginTokenCookie;

    }
};
});

但这也没有工作.它仅在更改如下所示的标题密钥名称时有效:

$http.defaults.headers.post['Token-Post'] = token || $cookies.loginTokenCookie;

如何在AngularJs中分配一个默认标题来发布和获取请求?

不要将令牌放在每个服务(或调用)中的标头上,最好使用$http拦截器( docs here).

然后,您可以将令牌放在每个请求上.无论请求是GET还是POST,这都将起作用.

JS样本:

$httpProvider.interceptors.push(function($q,$cookies) {
    return {
     'request': function(config) {

          config.headers['Token'] = $cookies.loginTokenCookie;
          return config;
      }
    };
  });

猜你在找的Angularjs相关文章