我们正在从server1.corp.xyz.com向server2.corp.xyz.com发出Ajax请求,但仍然收到跨域错误。这是一个有效的跨域案例,还是我遗漏了什么。可能的解决方案是什么。
发布于 2014-09-08 16:24:43
可能的解决方案是什么。
您可以在server2.corp.xyz.com服务器上启用Cross Origin Resource Sharing,以允许来自server1.corp.xyz.com服务器的请求。那么该请求将在几乎所有的CORS-enabled browser上工作。我之所以说“差一点”,是因为您说过您正在使用jQuery,奇怪的是(在我看来),jQuery在这方面不像其他许多浏览器那样解决浏览器不兼容性问题: IE8和IE9支持CORS,但它们不能通过标准的XMLHttpRequest
对象来支持它;您必须使用XDomainRequest
对象。(微软从IE10开始就做对了。)因此,要让跨源请求在IE8或IE9上工作,你需要自己直接使用XDomainRequest
而不是使用jQuery的ajax
,或者你需要找到并使用jQuery的补丁/插件来添加对IE8和9的支持(我知道有一些,但我没有具体的建议)。
发布于 2014-09-08 16:25:19
您可以在文件夹中使用htacess设置原点
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中进行设置。
https://stackoverflow.com/questions/25719935
复制相似问题