即使使用cors = true,Jquery ajax也无法在IE9中工作

时间:2013-03-28 10:07:22

标签: jquery xml ajax internet-explorer-9

这是我的简单ajax代码,适用于FFX和Chrome,但不适用于IE9。我非常厌倦了这个我无法表达的浏览器。这是我的jquery代码:

   $.ajax({
                type: "GET",
                dataType: "xml",
                crossDomain: true,
                cache:false,
                url: "http://somedomain.net/folder/ap/connector.php"
            }).success(function (result, payPalresult) {
});

内部document.ready和connector.php有

Access-Control-Allow-Origin *

当我检查Fiddler时。现在这段代码适用于FFX和Chrome,但在IE9中没有进行过ajax调用

我甚至有这个:

 $.support.cors = true;

此时我还缺少什么吗?我正在从localhost发出一个AJAX请求

2 个答案:

答案 0 :(得分:3)

jQuery不支持IE的XDomainRequest对象,这是IE9用于CORS的对象。只有IE10与XMLHttpRequest进行CORS。我相信你可以找到一个启用XDomainRequest对象的jQuery的补丁/插件。 jQuery网站this ticket中的更多信息(包括六个月前更新的补丁/插件的链接,非常近期)。

答案 1 :(得分:0)

如果IE9的解决方法没有使用xdr(无论如何在受信任的站点区域中)并且假设CORS为true且crossDomain为true,那么它是否有任何帮助。

执行POST时,执行 NOT 序列化表单,而是从表单中提取所需的所有数据,并将每个数据设置为$ data容器中的名称:值对。然后就行了。

HTH