我目前在使用 IE10 进行跨域 ajax 调用时遇到问题(在 IE10 模式下,不兼容)。
情况:我有两个域,http://a
并且http://b
. 我有一个 cookie 集http://b
。我目前在页面上http://a
。
我想做一个http://b
使用 XMLHttpRequest 的 CORS 请求(根据http://blogs.msdn.com/b/ie/archive/2012/02/09/cors-for-xhr-in-ie10.aspx ,它应该可以工作),并在请求中包含 cookie。JS如下:
var xhr = new XMLHttpRequest();
xhr.open('GET', 'http://b', true);
xhr.withCredentials = true;
xhr.send();
这应该确保 cookie 附加到请求中;但是,Fiddler 跟踪显示没有附加 cookie,我得到401: Access Denied
.
服务器配置为使用 CORS,它包括 Access-Control 标头:
Access-Control-Allow-Origin: http://a
Access-Control-Allow-Credentials: true
(这应该没有任何区别,因为没有 OPTIONS 预检请求,并且 IE 发送的第一个请求是 GET,并且 cookie 不存在,因此导致 401)。
此外,JS 片段在 Firefox 和 Opera 中都可以正常工作。