用cookies在IE9中发出CORS请求?

用cookies在IE9中发出CORS请求?,cookies,internet-explorer-9,xdomainrequest,Cookies,Internet Explorer 9,Xdomainrequest,在IE9中,我试图使用cookies发出跨源请求。但是,即使我将访问控制允许源、访问控制允许凭据、访问控制允许方法都设置为适当的值(源域、true和GET、POST),IE9仍然没有从请求发送或设置cookie。以下是我使用的脚本: var xdr = new XDomainRequest() xdr.open("http://mydomain.com/cors.php") xdr.withCredentials = true; xdr.send(); 关于如何让Cookie与IE9中的COR

在IE9中,我试图使用cookies发出跨源请求。但是,即使我将访问控制允许源、访问控制允许凭据、访问控制允许方法都设置为适当的值(源域、true和GET、POST),IE9仍然没有从请求发送或设置cookie。以下是我使用的脚本:

var xdr = new XDomainRequest()
xdr.open("http://mydomain.com/cors.php")
xdr.withCredentials = true;
xdr.send();
关于如何让Cookie与IE9中的CORS请求一起工作,您有什么想法吗?

从底部的这个页面可以看到更新:Internet Explorer 10现在使用XMLHTTPRequest支持CORS。这意味着IE9中没有正确处理CORS。很抱歉在同一篇文章中,他们提出了一些代理解决方案

浏览器兼容性矩阵是指部分支持

Internet Explorer 8通过XDomainRequest对象提供支持,但不支持认证请求


根据我的经验,如果两个域都在您的控制之下,那么最好使用
postMessage

jeff您找到解决方案了吗?也许您可以将cookie信息作为查询参数发送作为解决方法?也许XHR对象在IE10中工作得更好-但它不会发送所有cookie。我可以确认它只在IE10+中正常工作。IE9和IE8必须使用XDR,这很糟糕,因为内容类型必须是文本/普通,不能使用cookies。顺便说一句,没有代理(或卷曲)由于安全原因,跨域Cookie也被禁止,因此将适用于Cookie。更新时请注意,我认为Windows10之前的任何版本上的IE10和IE11仍然需要在服务器上设置其特殊的P3P策略头,以便服务器在此版本中从客户端浏览器读取服务器域Cookie对,有点问题。。。