我有一个真正奇怪的问题。使用jQuery.ajax(...)发布JSON数据突然开始将内容类型(“application/json”或任何其他可能指定的内容类型)放入名为“Content-CtrlType”的请求标题字段中,而不是“Content-类型”。 “内容类型” 还存在但不包含 “text/plain的”:jQuery.ajax(..)在POST请求中产生一个“Content-CtrlType”标题字段
我使用jQuery 1.7.2。问题存在于IE9,Firefox 12和Chrome上。没有测试过其他浏览器,因为我相信它不是浏览器相关的。
这是我的JavaScript代码生成该请求:
...
var ajaxOptions = {
url: url,
type: 'POST',
dataType: 'json',
data: JSON.stringify(params),
contentType: 'application/json; charset=utf-8',
cache: false,
error: function (jqXHR, textStatus, errorThrown) { .... },
success: function(data, textStatus, jqXHR) { .... },
converters: {
"text json": function(data) { .... }
}
};
$.ajax(ajaxOptions);
...
“PARAMS”我的JavaScript对象保持要发送的数据。
任何想法出了什么问题?
'ajaxOptions.success ='应该只是'success:',因为它在*'ajaxOptions'中是*开始的。 – Sampson
@Jonathan Sampson - 对不起,我粘贴了缩短的代码。没有正确缩短它。刚纠正它。谢谢! – Andreas
我在[小提琴](http://jsfiddle.net/RrKbd/)中复制了您在这里的代码,但无法重复您的结果。我只看到正在添加的“内容类型”。 – Sampson