Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/assembly/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
AngularJS$资源未发送自定义头_Angularjs_Angular Resource - Fatal编程技术网

AngularJS$资源未发送自定义头

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

我使用angular和angular resource版本1.1.5,我使用$resource向REST服务发出请求。但是看起来定制的头文件并没有附加到请求中。我的定义如下。我做错什么了吗

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。