我有一个带有多个 Controller 的网络应用程序。我在我的一个 Controller 的回调中设置了 $http
服务的默认 header (通过 http.defaults.headers.common['headername']
)。但是,这些 header 不会在来自其他 Controller 的后续调用中设置。我是否必须为我拥有的每个 Controller 设置它们,或者设置一次就足够了?
最佳答案
您应该使用以下两种方法之一:
例如在运行 block 中设置 $http.defaults.headers
module.run(function($http) {
$http.defaults.headers.common.Authorization = 'Basic Token';
});
使用拦截器
var interceptor = function() {
return {
'request': function(config) {
config.headers['Authorization'] = 'Basic Token';
}
}
};
angular.module('app', [])
.config(function ($httpProvider) {
$httpProvider.interceptors.push(interceptor);
});
关于angularjs - 全局设置 angularjs $http header ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27134840/