我们正在从server1.corp.xyz.com向server2.corp.xyx.com发出Ajax请求,但仍会出现跨源错误。这是Cross Origin的有效案例吗?还是我遗漏了什么。可能的解决方案是什么。
可能的解决方案是什么。
您可以在server2.corp.xyz.com服务器上启用跨来源资源共享,以允许来自server1.corp.xyz服务器的请求。然后,该请求将在几乎所有启用CORS的浏览器上工作。我说"差不多"是因为你已经说过你在使用jQuery,奇怪的是(在我看来),jQuery在这方面不能像其他许多浏览器一样解决浏览器不兼容问题:IE8和IE9支持CORS,但它们不通过标准的XMLHttpRequest
对象支持它;您必须使用XDomainRequest
对象。(微软从IE10开始就做得很好。)因此,要在IE8或IE9上处理跨源请求,你需要自己直接使用XDomainRequest
,而不是使用jQuery的ajax
,或者你需要找到并使用一个jQuery的补丁/插件,添加对IE8和9的支持(我知道有一些,但我没有具体的推荐)。
您可以在文件夹中使用htaccess设置原点
Header add Access-Control-Allow-Origin "*"
Header add Access-Control-Allow-Headers "origin, x-requested-with, content-type"
Header add Access-Control-Allow-Methods "PUT, GET, POST, DELETE, OPTIONS"
或者在谷歌上搜索如何设置原产地。我更喜欢只为server1.corp.xyz.com域设置原点。你也可以在apache中设置。