繁体   English   中英

jQuery POST未在IE10上发送Content-Type

[英]jQuery POST not sending Content-Type on IE10

我在Windows 7 64位上使用jQuery 1.9.1和Internet Explorer版本10.0.9200.16686,更新版本10.0.9(KB2870699)。

使用$ .ajax进行POST时,不会发送Content-Type标头。 它可以在Chrome和其他浏览器上正常工作,并且我相信以前在IE10上可以正常工作,因此我怀疑对IE10的某些更新会引起问题。

我还可以手动创建XMLHttpRequest并发送请求,因此我假设它一定是jQuery中的错误,这才是真正的问题吗? 我尝试升级到1.10.2,但遇到了同样的问题。

我使用$.ajaxSetup设置了contentType:

$.ajaxSetup({
    contentType: 'application/json; charset=utf-8',
    context: document.body,
    dataType: 'json',
    accepts: 'application/json',
    processdata: true,
    cache: false,
    crossDomain: true,
    xhrFields: { withCredentials: true }
});

我也尝试过将其显式设置为$.ajax选项的一部分。

var options = {
    url: basePath + 'login',
    type: 'POST',
    dataType: 'json',
    contentType: 'application/json',
    data: JSON.stringify({
        UserName: username,
        Password: password,
        RememberMe: rememberMe || false
    })
};
return $.ajax(options).then(...);

任何想法如何解决它将不胜感激。

注意:我们最初使用的是CORS,因此需要使用xhrFieldscrossDomain设置,但是由于IE8和IE9和XDomainRequest的问题,目前正在将所有内容托管在同一域中。

看来我们仍然包含xdr.js脚本来在IE上启用CORS,这导致了此问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM