我们正在从 server1.corp.xyz.com 向 server2.corp.xyz.com 发出 Ajax 请求,但仍然收到跨源错误。这是跨源的有效案例还是我遗漏了一些东西。可能的解决方案是什么。
最佳答案
What could be the possible solution.
您可以启用Cross Origin Resource Sharing在您的 server2.corp.xyz.com 服务器上,以允许来自 server1.corp.xyz.com 服务器的请求。那么该请求将适用于几乎任何 CORS-enabled browser 。我说“几乎”是因为您说过您正在使用 jQuery,并且奇怪的是(在我看来),jQuery 在这方面并没有像其他许多浏览器一样解决浏览器不兼容性问题:IE8 和 IE9 支持 CORS,但是他们不通过标准 XMLHttpRequest
对象支持它;您必须改用 XDomainRequest
对象。 (微软从 IE10 开始就做到了。)因此,要让跨域请求在 IE8 或 IE9 上工作,您需要自己直接使用 XDomainRequest
而不是使用 jQuery 的 ajax
,或者您需要找到并使用 jQuery 的补丁/插件来添加对 IE8 和 9 的支持(我知道有一些,但我没有具体推荐)。
关于jQuery Ajax 跨源问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25719935/