今天,我尝试浏览最近部署到我们的测试环境中的一项新功能(非本地)。导航到新功能后,出现空白页。感到困惑,我检查了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 /隐身模式
-适用于FireFox
-在我所居住的同一域中的至少4个其他开发人员的所有浏览器上均可使用。 (向我表明这是环境问题)

可能的原因:
-几周前我正在做一些CORS研究,也许我配置了一些Windows 7设置来导致这种情况发生?

Google已对标准CORS问题感到满足,所以我在这里问,希望有人可以提供帮助。

最佳答案

当前的问题是由于环境之间的不一致。

在我们的生产环境中,SSL是通过IIS中的重定向强制执行的,而在我们的测试环境中则不是。我使用http通过书签导航到该站点。按照@epascarello的建议更新书签可以解决此问题。

07-24 09:16