angularjs - Angular JS - 向所有 GET/POST 请求添加自定义 header

标签 angularjs http-headers authorization request-headers angular-http-interceptors

我正在尝试使用拦截器将“授权” header 添加到我的所有 GET/POST 请求中。 这是拦截器:

myApp.factory('httpRequestInterceptor', ['$rootScope', function ($rootScope) {
  return {
    request: function ($config) {
        $config.headers['Authorization'] = 'Basic ' + $rootScope.apiKey;
        return $config;
    }
  };
}]);

拦截器在主模块中使用,如下 myApp.config 部分:

$httpProvider.interceptors.push('httpRequestInterceptor');

由于某种原因,我在网络选项卡中看不到授权 header (我使用的是 Chrome),并且它没有到达服务器,并且我没有收到任何错误。 我的应用程序中的 GET/POST 请求发送至不在我的域中的远程服务器。

知道我在这里做错了什么吗?

解决方案: 我发现了问题,它出现在服务器端 - 显然,如果我在响应中设置 Access-Control-Allow-Headers * 它不起作用,但如果我从字面上指定 header ,它就可以正常工作。

最佳答案

问题出在服务器端 - 显然在对 * 的响应中设置 Access-Control-Allow-Headers 不起作用,但按照我需要的字面指定 header (Access-Control-Allow-Headers:授权)工作得很好。

关于angularjs - Angular JS - 向所有 GET/POST 请求添加自定义 header ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31152688/

相关文章:

javascript - Angular JS <a href> 路由回登录

angularjs 测试 ng-include 文件是否存在

javascript - 如何使用angularjs在窗口关闭时触发一个函数

nginx - NGINX 499 错误代码的可能原因

php - 调用 REST api (Phalcon) 时出现 404 错误

wcf - Windows Azure 基本身份验证在云中不起作用?

angularjs - Angular UI 模态背景

http - 为什么响应 304 没有 Content-Type header ?

c# - 在 ASP.NET MVC 中重定向未经授权的 Controller

c# - 自定义 ASP.NET MVC 表单例份验证