【发布时间】:2017-03-04 00:16:55
【问题描述】:
我有一个预先存在的角度代码,可以从 API 获取数据。我正在尝试向请求添加身份验证令牌。
首先我尝试了一个简单的例子
.factory('getDep', [
'$resource', function($resource) {
return $resource('/ContactsDatabaseAPI/deps/:id', { id: '@id' }, {
query: {
method: 'GET',
isArray: false,
headers: {
'Authorization': 'Bearer ' + token
}
},
create: {
method: 'POST'
},
update: {
method: 'PUT'
},
remove: {
method: 'DELETE'
}
});
}
当 GET 调用被触发并在 Chrome 中按 F12 时,我收到以下错误消息:
angular.js:11821 OPTIONS http://localhost:56057/ContactsDatabaseAPI/deps net::ERR_CONNECTION_RESET
-1 的返回状态,并且没有调用到服务器端的迹象。
没有标题行,它工作正常。
如果我尝试在 Postman 中使用标头中相同的 Authorization 值进行 GET 调用,这也可以正常工作。
我也尝试在 httpInterceptor 中添加标头并得到相同的结果:
config.headers = config.headers || {};
config.headers.Authorization = 'Bearer ' + authData.token;
我尝试过的其他事情:
- 随机标题名称会导致同样的问题。
- 我添加了 'Content-Type' = 'text/plain; charset=utf-8' 作为标题。这对结果没有变化
我正在使用角度 1.5.6
【问题讨论】:
-
你的后端是什么?
-
使用 Restier (github.com/OData/RESTier) 基本上是用 .net 编写的 Web API 2
标签: angularjs asynchronous http-post restier