【问题标题】:HTTP Basic Authorization header in request using AngularJS?使用AngularJS的请求中的HTTP基本授权标头?
【发布时间】:2014-05-14 19:26:37
【问题描述】:

我正在尝试将 AngularJS 与外部 API 一起使用。 API 使用 HTTP Basic 进行身份验证。

我已经查看了如何执行此操作,但似乎没有任何效果。 OPTIONS 请求总是在没有 Authorization 标头的情况下发送。

下面是一些示例代码:

 var app = angular.module("BE", []);

        app.controller("NextCtrl", function ($scope, $http) {
            $http.defaults.headers.common['Authorization'] = 'Basic encoded_credentials';
            $http.get('http://api-url.com').
                success(function(data, status, headers) {
                  $scope.event = data.Event;
                  $scope.race = data.Race;
                  $scope.entrants = data.Entrants
                }).
                error(function(data, status, headers, config) {
                  // log error
            });

        });

如何使用为每个请求设置的 Authorization 标头发出请求?

【问题讨论】:

    标签: angularjs


    【解决方案1】:

    您无法控制它,因为 OPTIONS 是由浏览器发送的。浏览器会删除 OPTION 请求中的所有授权数据(请参阅CORS W3C Recommendation)。

    在大多数情况下,不需要 OPTIONS 请求的 Authorization 标头,因为响应仅包含 CORS 标头并且不执行任何操作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-04-24
      • 1970-01-01
      • 1970-01-01
      • 2011-05-04
      • 1970-01-01
      • 2010-11-23
      • 1970-01-01
      • 2015-01-27
      相关资源
      最近更新 更多