繁体   English   中英

使用AngularJS请求中的HTTP基本授权标头?

[英]HTTP Basic Authorization header in request using AngularJS?

我正在尝试将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
            });

        });

如何为每个请求设置“授权”标头来发出请求?

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM