Javascript 如何在$resource AngularJS中将DELETE方法的内容类型设置为application/json
我试图将$resrouce delete操作的内容类型设置为application/json。我需要将内容类型强制为application/json的唯一原因是IE10和IE11将DELETE请求的内容类型检测为纯文本,但所有其他浏览器和IE的旧版本都将其检测为application/json。我有一个来自后端的限制,它总是检查内容类型为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
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中应该得到支持,我使用的是最新版本。