【发布时间】:2014-07-11 07:30:49
【问题描述】:
js
我正在尝试做的是向服务器发出 REST API 请求。
请求应该是 'GET' 方法并包含 'Authorization' 标头。
我与 REST 服务器通信的工厂代码是这样的 '使用严格';
angular.module('mabidualApp')
.factory('User', function ($resource, config) {
return $resource(config.API+':url/:id', {
url: '@url', id: '@id'
}, { //parameters default
auth: {
method: 'POST',
params: {
url: "token",
}
},
get: {
method: 'GET',
headers:{'Authorization':'Bearer oLDMYrJD0Qg15Nhv7N-H6w'} ,
params: {
url:"users",
id:'me'
}
}
});
最合适的问题来了
headers:{'Authorization':'Bearer oLDMYrJD0Qg15Nhv7N-H6w'} ,
如果我添加标题,方法将更改为“OPTIONS”而不是“GET”。我发现它与 CORS 预检有关,但我不知道如何禁用它..
所以我尝试在 app.js 中更改我的配置
.config(function($locationProvider, $routeProvider, $httpProvider) {
$httpProvider.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded;charset=utf-8';
$httpProvider.defaults.headers.get['Authorization'] ='Bearer oLDMYrJD0Qg15Nhv7N-H6w';
第二个问题来了
$httpProvider.defaults.headers.get['Authorization'] ='Bearer oLDMYrJD0Qg15Nhv7N-H6w';
下面的错误。
Cannot set property 'Authorization' of undefined
是否有任何解决方案可以发送带有“授权”标头的“GET”请求? 谢谢
【问题讨论】:
-
这是关于这个主题的另一个问题的一个很好的答案:stackoverflow.com/questions/25771062/…
标签: angularjs http-headers preflight