jQuery.ajax(..)在POST请求中生成“Content-CtrlType”头字段

时间:2012-05-30 13:27:05

标签: jquery

我有一个非常奇怪的问题。使用jQuery.ajax(...)发布JSON数据突然开始将内容类型(“application / json”或您可能指定的任何其他内容类型)放入名为“Content-CtrlType”的请求标头字段中,而不是“Content-”类型”。 “Content-Type”也存在,但包含“text / plain”:

Screenshot of weird POST request header

我使用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对象,用于保存要传输的数据。

任何人都知道出了什么问题?

1 个答案:

答案 0 :(得分:0)

好吧,在Jonathan确认我的代码没有任何问题之后,我开始了一个详细的调试会话并潜入了jQuery代码。在这里我发现了问题。可能由于某些重构,请求标头字段“Content-Type”的设置被重命名为“Content-CtrlType”。如果将它重命名为其他内容则会更加明显。 @ * $&§......关于小事件的重构......

抱歉打扰!