我遇到了与此问题相同的问题:Angularjs set a authorization header
我需要在我的请求标头中包含授权令牌。我尝试使用几种方法 - 我尝试设置$ http默认值如下:
app.config(function($httpProvider) {
$httpProvider.defaults.headers.common['Authorization'] = '1234567';
});
也是这样的:
app.run(function($http) {
$http.defaults.headers.common['Authorization'] = '1234567';
});
此外,我尝试在我的服务方法中构建我的请求:
var request = {
method: 'GET',
url: 'my/api/endpoint',
headers: {
'Authorization': '1234567'
}
};
$http(request).then(function(response) {
console.log(response);
});
在所有这些情况下,我最终在请求标题中看到的内容如下所示:
Access-Control-Request-Method: GET
Origin: http://localhost:8000
Access-Control-Request-Headers: accept, authorization
Accept: */*
Referer: http://localhost:8000/
Accept-Encoding: gzip, deflate, sdch
Accept-Language: en-US,en;q=0.8
我希望在那里看到另一个键值对,例如:
Authorization: '1234567'
但是,我没有。
我正在使用Angular 1.4.9版,我想知道这个版本是否特定于此版本?
解决: 事实证明这是在Apache配置服务器端解决的。但是 - 值得注意的是,授权标头实际上包含在预检请求标头中而不是主请求中,这就是为什么它似乎不在标头中。