AngularJS - 设置适用于所有 http 请求的通用基本身份验证 header

AngularJS - set common Basic Auth header that is applied to all http requests

我在后端使用 AngularJS 和 Play REST 服务,我对这两个概念都很陌生。 我想知道是否有一种方法可以让我只在一个地方编写 Basic Auth header,以便默认将其添加到 Angular 发出的每个 http 请求中。

现在我在每个请求的开头添加这一行。

$http.defaults.headers.common['Authorization'] = 'Basic ' + Base64.encode(username + ':' + password);

我希望它只出现在一个地方而不是多个地方,以便于代码维护。 提前致谢!

您可以通过在 angular.config

中使用 $http 拦截器来完成此操作
var app = angular.module();
app.config(['$httpProvider', function($httpProvier){

  $httpProvider.interceptors.push(function(){

  return {
    request: function(config) {
      config.headers.Authorization = YOUR_AUTHORIZATION_HEADER;
      return config;
    }
  }

  });

}]);