2013-03-28 103 views
2

这是我的简单ajax代码,适用于FFX和Chrome,但不适用于IE9。我非常厌恶这个浏览器,我无法表达。这是我的jQuery代码:即使cors = true,jquery ajax也不能在IE9中工作

$.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 * 

,当我在提琴手检查。现在,这个代码工作的FFX和Chrome,但没有Ajax调用在IE9

有史以来

我甚至有这样的:

$.support.cors = true; 

这有什么,我在这一点上缺少什么?我正在从本地主机发出AJAX请求

+0

的[IE9 jQuery的AJAX与CORS返回 “访问被拒绝”(可能的复制http://stackoverflow.com/questions/10232017/ie9-jquery-ajax-with-cors-returns-access -被拒绝) – Maks3w 2015-12-29 19:40:54

回答

3

jQuery不支持IE的XDomainRequest对象,这是IE9用于CORS的对象。只有IE10与XMLHttpRequest一起执行CORS。我相信有一个补丁/插件,你可以找到jQuery,使XDomainRequest对象。在jQuery网站上的this ticket中提供了更多信息(包括一个修补程序/插件的链接,仅在六个月前更新,非常近)。

0

如果没有使用xdr(无论以任何速率在可信站点区域中)并且假定CORS为true并且crossDomain为true,那么IE9的解决方法有帮助。

执行POST时,执行NOT序列化表单,而是将所需的所有数据从表单中提取出来,并将其设置为$ data容器内的名称:值对。然后它工作。

HTH