EDIT2:只想对在评论中帮助我的所有人表示感谢。在IE11中浏览了许多网站并查看了他们的ajax请求之后,似乎很多人的请求都被cors阻止了,并且大多数代码都退回到了jsonp,所以我认为我们会做同样的事情。
编辑:这不是另一个提到的问题的重复,因为正如我在下面所述,我没有使用凭据,因此它不尝试通过请求发送域cookie,并且不需要P3P标头。我已经通过检查IE中的“隐私”部分确认了这一点,并且没有任何内容被阻止。
我从另一个网站向我的端点发出了跨域请求。除了IE11,我在任何浏览器中都没有问题。 Chome,FF所有版本等均可正常运行。我没有设置任何自定义标题,所以没有预检请求。我也没有使用允许凭据,所以我认为我不需要任何P3P标头,但是我也没有运气尝试过。
我在控制台中收到一条提示信息XMLHTTPRequest for https://xxx required Cross Origin Resource Sharing (CORS)
在网络选项卡中,我可以看到HTTP响应正常返回,但是我的XMLHTTPRequest函数返回的状态码为零,并且响应主体为空。
我的请求是将节点js服务器的标头设置如下。我厌倦了许多没有运气的组合。在生产环境中以及与其他浏览器一起使用时,标头要少得多。
res.header('Access-Control-Allow-Origin', '*')
res.header('Access-Control-Allow-Headers', 'Overwrite, Destination, Content-Type, Depth, User-Agent, Translate, Range, Content-Range, Timeout, X-File-Size, X-Requested-With, If-Modified-Since, X-File-Name, Cache-Control, Location, Lock-Token, If, Accept, Pragma')
res.header('Access-Control-Allow-Methods', 'GET, POST')
res.header('Access-Control-Expose-Headers', 'DAV, content-length, Allow')
res.header('P3P', `CP="ALL IND DSP COR ADM CONo CUR CUSo IVAo IVDo PSA PSD TAI TELo OUR SAMo CNT COM INT NAV ONL PHY PRE PUR UNI"`)
答案 0 :(得分:-1)
已针对IE11移至JSONP。这就是Facebook嵌入代码以及IE11中许多其他站点的作用。像这样的现象很常见。