【发布时间】:2013-12-02 01:38:09
【问题描述】:
今天我尝试浏览最近部署到我们的测试环境(非本地)的新功能。导航到新功能后,我遇到了一个空白页面。一头雾水,查看了Chrome的控制台,发现报错:
XMLHttpRequest cannot load https://test.mytestsite.com/SomeApplication/api/SomeController/SomeMethod/8?Id=523283&SecondId=1612w3426653.
No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://test.mytestsite.com' is therefore not allowed access.
此代码对 WebAPI(在同一域上)进行 ajax 调用,以检索有关 document.Ready 的一些信息。我了解该错误并且我熟悉它的典型原因。但是,此调用是从在同一域中进行的,它适用于我团队中的其他开发人员。
症状: - 不适用于 IE 或 Chrome/Incognito - 是否适用于 FireFox - 适用于我所在的同一域中至少 4 位其他开发人员的所有浏览器。 (向我表明这是一个环境问题)
可能的原因: - 几周前我在做一些 CORS 研究,也许我配置了一些 Windows 7 设置来导致这种情况发生?
Google 已经饱受标准 CORS 问题的困扰,所以我在这里询问,希望有人能提供帮助。
【问题讨论】:
-
http&https这就是问题所在。 -
@epascarello 我也是这么想的,但正如我提到的,这适用于 FireFox 以及我办公室中的所有其他开发人员(使用 IE、Chrome 和 FireFox)。
-
https 在 Chrome 和 IE 中是否经过验证?又名,打开浏览器并输入您正在使用的 https url。它会提示您验证不受信任的证书吗?
-
你是对的!我们的网站应该只强制执行 SSL,我想我们的测试环境并非如此。将 URL 更改为 https: 有效。谢谢!如果您将此作为答案发布,我很乐意将其标记为这样。
标签: javascript asp.net-web-api cross-domain cors