SEC7118:XMLHttpRequest CORS - IE控制台消息

luc*_*cky 21 javascript ajax internet-explorer cors internet-explorer-10

我正在使用CORS POST请求,请注意@ http://www.html5rocks.com/en/tutorials/cors/

服务器将响应标头设置为:'Access-Control-Allow-Origin':'*',我可以在IE开发人员工具中看到此标头值.

但是在IE10浏览器上,我看到控制台消息为"SEC7118:XMLHttpRequest for http://需要跨源资源共享(CORS)".

当我在Microsoft网站上查看时,它已经给出了解释.

http://msdn.microsoft.com/en-us/ie/dn423949(v=vs.94).aspx

SEC7118

描述: "[URL]的XMLHttpRequest需要跨源资源共享(CORS)."XMLHttpRequest是针对与您的页面域不同的域进行的.这要求服务器在其响应头中返回"Access-Control-Allow-Origin"标头,但不返回一个.

建议的修复: 服务器必须支持CORS请求,并向资源返回适当的"Access-Control-Allow-Origin"标头.有关响应头中CORS的更多信息,请参阅IE10中的CORS for XHR.

问题:

  1. 我想知道这个控制台消息是否是错误?
  2. 这会导致任何失败吗?
  3. 为什么即使将响应头"Access-Control-Allow-Origin"值设置为'*'后我也会收到此消息?
  4. "Access-Control-Allow-Origin"值是否必须是IE10的起源名称?我知道*不是一个很好的选择,但IE是否需要确切的原产地名称?

在此输入图像描述

在此输入图像描述

我保留了这些图片中隐藏的URL和cookie细节.

twi*_*ill 11

来自MSDN,只是为了踢!

安全错误代码的格式为SEC7xxx [在IE中]

与SEC7118有关:

对与您的网页域不同的域进行了XMLHttpRequest.这要求服务器在其响应头中返回"Access-Control-Allow-Origin"标头,但不返回一个.

注意在Windows 10上的IE11中删除了此错误代码.它仍然在IE11中用于Windows 8.1和Windows 7.

从IE的角度来看,它在技术上被视为一个错误,但肯定不是一个(因此它会消失).Access-Control-Allow-Origin在资源上设置,但不一定与请求一起发回.如果指定的资源没有Access-Control-Allow-Origin:*(或域),则资源将无法访问,服务器可能会返回503或404,您将在控制台中看到类似于以下内容的真实错误消息:

XMLHttpRequest无法加载http://example.com/.请求的资源上不存在"Access-Control-Allow-Origin"标头.因此,不允许来源" http://blog.example.com "访问.


小智 -3

我也有同样的问题。它与 Internet Explorer 对第三方 cookie 的处理有关。您可以通过进入“工具”>“Internet 选项”然后选择“隐私”选项卡来解决此问题。如果您将设置更改为“接受所有 Cookie”,您将不会再看到该消息。

更安全的方法是单击“站点”按钮并允许来自您站点 URL 的 cookie。

在此输入图像描述

  • 这对网站开发人员并没有真正的帮助。人们不能要求所有网站访问者更改他们的隐私设置。 (24认同)
  • 投票因为这实际上是最好的答案,即使这并不完全是OP所希望的...... (2认同)