13

在 IE9 中,我尝试使用 cookie 进行跨源请求。但是,即使我将 Access-Control-Allow-Origin、Access-Control-Allow-Credentials、Access-Control-Allow-Methods 都设置为适当的值(原始域、true 和 GET、POST),IE9仍然没有从请求中发送或设置 cookie。这是我正在使用的脚本:

var xdr = new XDomainRequest()
xdr.open("http://mydomain.com/cors.php")
xdr.withCredentials = true;
xdr.send();

关于如何让 cookie 在 IE9 中处理 CORS 请求的任何想法?

4

2 回答 2

18

从这个页面http://blogs.msdn.com/b/ieinternals/archive/2010/05/13/xdomainrequest-restrictions-limitations-and-workarounds.aspx在底部你可以看到Update: Internet Explorer 10 now supports CORS using XMLHTTPRequest.这意味着 CORS 在IE9。对不起。他们在同一篇文章中提出了一些使用代理的解决方法。

浏览器兼容性矩阵在http://caniuse.com/cors给出,其中部分支持是指

Internet Explorer 8 通过 XDomainRequest 对象提供支持,但不支持凭据请求http://code.google.com/p/sgvizler/wiki/Compatibility

于 2012-06-08T13:23:36.943 回答
0

根据我的经验,如果两个域都在您的控制范围内,则更好地使用postMessage

于 2012-06-25T18:30:21.080 回答