我有一个非常奇怪的问题。使用jQuery.ajax(...)发布JSON数据突然开始将内容类型(“application / json”或您可能指定的任何其他内容类型)放入名为“Content-CtrlType”的请求标头字段中,而不是“Content-”类型”。 “Content-Type”也存在,但包含“text / plain”:
我使用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对象,用于保存要传输的数据。
任何人都知道出了什么问题?
答案 0 :(得分:0)
好吧,在Jonathan确认我的代码没有任何问题之后,我开始了一个详细的调试会话并潜入了jQuery代码。在这里我发现了问题。可能由于某些重构,请求标头字段“Content-Type”的设置被重命名为“Content-CtrlType”。如果将它重命名为其他内容则会更加明显。 @ * $&§......关于小事件的重构......
抱歉打扰!