AngularJS$资源未发送自定义头
我使用angular和angular resource版本1.1.5,我使用$resource向REST服务发出请求。但是看起来定制的头文件并没有附加到请求中。我的定义如下。我做错什么了吗AngularJS$资源未发送自定义头,angularjs,angular-resource,Angularjs,Angular Resource,我使用angular和angular resource版本1.1.5,我使用$resource向REST服务发出请求。但是看起来定制的头文件并没有附加到请求中。我的定义如下。我做错什么了吗 myApp.factory('User', function($resource) { var User = $resource('http://localhost\\:7017/mydomain/users/jack', { }, { get: { metho
myApp.factory('User', function($resource) {
var User = $resource('http://localhost\\:7017/mydomain/users/jack', { }, {
get: {
method: 'GET',
isArray: false,
headers: {'X-Requested-By':'abc'}
}
});
return User;
});
阅读本节了解如何在一个位置配置默认标题: 编辑:
您的头必须包含在
访问控制允许头中,以响应选项请求,该请求在GET请求之前自动发送。您可以在$httpProvider
中修改默认头
标题是一个对象,分为common
、patch
、post
和put
因此,如果您想更改所有请求的默认值,只需执行
$httpProvider.defaults.headers.put['Content-Type'] = 'application/json';
您必须使用get方法的名称来调用它,即User.get(回调)
使用User.query(callback)
调用get方法时,似乎不会发送自定义头。谢谢您的回复。我使用的是$resource而不是$http。“:”是$resource中的保留字符,我需要使用双反斜杠。当然,关于冒号,您是对的。但是请注意,$resource在内部使用$http,所以为$http设置头将对您有用。如果没有,请检查:是。“查询”是一个输入错误。应该是“得到”,谢谢。我读过那篇文章。它说1.1.3支持$ResourceHeader。我尝试了1.1.3和1.1.5,但无法使自定义标头正常工作。如何检查标头是否已发送?在浏览器控制台中查看。可能是服务器端的问题?顺便说一句,我得到它的工作,甚至与角度1.0.8。