在AngularJS中设置应用程序范围的HTTP标题

有没有一种方法来设置angular.module('myApp', []).config()之外的$httpProvider头?

我在login用户后从服务器获取Auth-Token,并且需要将其作为HTTP标题添加到所有以下请求中。

您可以使用angular度为1.0.x的默认标题:

 $http.defaults.headers.common['Authentication'] = 'authentication'; 

或者为angular1.1.x +请求拦截器:

 myapp.factory('httpRequestInterceptor', function () { return { request: function (config) { // use this to destroying other existing headers config.headers = {'Authentication':'authentication'} // use this to prevent destroying other existing headers // config.headers['Authorization'] = 'authentication'; return config; } }; }); myapp.config(function ($httpProvider) { $httpProvider.interceptors.push('httpRequestInterceptor'); }); 

由于工厂/服务是单身人士,只要您在实例化服务后不需要dynamic更改“身份validation”值,就可以工作。

 $http.defaults.headers.common['Auth-Token'] = 'token'; 

看来headers()标准化了键名。

添加@Guria和@Panga的上述响应

 config.headers['X-Access-Token'] = $window.sessionStorage.token; 

可以在头中使用x-access-token作为JWT(jsonwebtoken)。 当用户首次进行身份validation时,我将JWT存储在会话存储中。