angularjs - 全局设置 angularjs $http header

标签 angularjs http header

我有一个带有多个 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/

相关文章:

javascript - 在页面加载上运行 Angular 脚本

分块传输编码 - 页面显示不正确

angularjs - 嵌套 REST 资源的 Angular ui-router 状态名称

c# - 在 C# 和 WinForms 中将筛选框添加到 ListView 的列标题

html - Bootstrap 3 - 标题在浏览器中有神奇的空白

header - 检测文件是否为 MP3 文件?

javascript - 以编程方式将 DOM 元素绑定(bind)到 $scope

javascript - AngularJS:ng-model 没有在 UI 中更新

javascript - Angular-UI Bootstrap 日期选择器问题

http - 确定服务器是否支持恢复获取请求