小编Ren*_*s S的帖子

Internet Explorer 10忽略XMLHttpRequest'xhr.withCredentials = true'

我目前在使用IE10进行跨域ajax调用时遇到问题(在IE10模式下,不兼容).

情况:我有两个域名,http://ahttp://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();
Run Code Online (Sandbox Code Playgroud)

这应该确保cookie附加到请求; 然而,Fiddler跟踪显示没有附加cookie,我得到了401: Access Denied.

服务器配置为使用CORS,它包括Access-Control标头:

Access-Control-Allow-Origin: http://a
Access-Control-Allow-Credentials: true
Run Code Online (Sandbox Code Playgroud)

(这不应该有任何区别,因为没有OPTIONS预检请求,并且IE发送的第一个请求是GET,并且cookie不存在,从而导致401).

此外,JS代码段在Firefox和Opera中均可正常运行.

javascript ajax internet-explorer cors

20
推荐指数
1
解决办法
3万
查看次数

标签 统计

ajax ×1

cors ×1

internet-explorer ×1

javascript ×1