这是我的简单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请求
答案 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