Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/14.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
Javascript 如何在$resource AngularJS中将DELETE方法的内容类型设置为application/json_Javascript_Json_Angularjs_Rest_Angular Resource - Fatal编程技术网

Javascript 如何在$resource AngularJS中将DELETE方法的内容类型设置为application/json

Javascript 如何在$resource AngularJS中将DELETE方法的内容类型设置为application/json,javascript,json,angularjs,rest,angular-resource,Javascript,Json,Angularjs,Rest,Angular Resource,我试图将$resrouce delete操作的内容类型设置为application/json。我需要将内容类型强制为application/json的唯一原因是IE10和IE11将DELETE请求的内容类型检测为纯文本,但所有其他浏览器和IE的旧版本都将其检测为application/json。我有一个来自后端的限制,它总是检查内容类型为Json 以下是我试图强制执行的方式: remove: { method: 'DELETE', headers: { 'Content-Typ

我试图将$resrouce delete操作的内容类型设置为application/json。我需要将内容类型强制为application/json的唯一原因是IE10和IE11将DELETE请求的内容类型检测为纯文本,但所有其他浏览器和IE的旧版本都将其检测为application/json。我有一个来自后端的限制,它总是检查内容类型为Json

以下是我试图强制执行的方式:

remove: {
    method: 'DELETE', 
    headers: { 'Content-Type': 'application/json; charset=utf-8'}, 
    transformRequest: function(data, headerGetters) {
        headerGetters()['Content-Type'] = 'application/json';
        return angular.toJson(data); 
    }, 
update: {
     method: 'PUT'
}

但这仍然不起作用,无法将内容类型设置为json

TransformRequest不用于修改标头。 只能在使用$HTTP时指定HTTP头


另请参见。

检查此问题如何:您是否在没有请求的情况下尝试了相同的方法?使用$resource服务有限制吗?我在没有transformRequest的情况下尝试了,但没有任何更改。尽管如此,IE11开发人员工具仍然支持以纯文本而非application/json形式传递内容类型。transformRequest更改请求头的功能在规则1.4中应该得到支持,我使用的是最新版本。