我正在尝试在AngularJS
中调用API。 API具有HTTP Basic Authentication
和username = admin
和password = admin123
这就是我调用API的方式
$http.get('https://example.com', {
headers: {'Authorization': 'Basic YWRtaW46YWRtaW4xMjM='}
}).then(console.log("something"));
但是,它给了我401 UnAuthorized
的回复。推荐的传递用户名和密码的方法是什么?我正在使用AngularJS 1
。
显示错误,
OPTIONS https://example.com 401 ()
Failed to load https://example.com: Response for preflight has invalid HTTP status code 401.
Possibly unhandled rejection: {"data":null,"status":-1,"config":{"method":"GET","transformRequest":[null],"transformResponse":[null],"jsonpCallbackParam":"callback","headers":{"Authorization":"Basic YWRtaW46YWRtaW4xMjM=","Accept":"application/json, text/plain, */*"},"url":"https://example.com"},"statusText":"","xhrStatus":"error"}
答案 0 :(得分:0)
如果您的所有请求都需要使用授权标头,则可能需要在更全局的级别上进行设置。您可以通过添加
.config(['$httpProvider', function($httpProvider) {
$httpProvider.defaults.headers.common['Authorization'] = '<Basic Auth Header>';
}]);
在您的应用程序配置中。要回答您的实际问题,我看不到您提供的代码有什么特别的错误。您能否提供一些有关服务器端期望以及它如何读取授权的信息?