jQuery Ajax Cross Origin问题?

时间:2014-09-08 08:17:10

标签: jquery ajax cross-domain

我们正在从server1.corp.xyz.com向server2.corp.xyz.com发出Ajax请求,但仍然会收到Cross-Origin错误。它是Cross-Origin的有效案例还是我遗漏了一些东西。什么是可能的解决方案。

2 个答案:

答案 0 :(得分:2)

  

可能的解决方案是什么。

您可以在server2.corp.xyz.com服务器上启用Cross Origin Resource Sharing,以允许来自server1.corp.xyz.com服务器的请求。然后,该请求几乎适用于任何CORS-enabled browser。我说“差不多”,因为你说你正在使用jQuery,并且奇怪(在我看来),jQuery不能解决浏览器在这方面的不兼容问题,就像许多其他人一样:IE8和IE9支持CORS,但是他们不支持通过标准XMLHttpRequest对象;你必须使用XDomainRequest对象。 (Microsoft从IE10开始就是正确的。)因此,要让跨域请求在IE8或IE9上运行,您需要直接使用XDomainRequest而不是使用jQuery的ajax,或者您需要找到并使用jQuery的补丁/插件,增加了对IE8和9的支持(我知道有一些,但我没有特定的推荐)。

答案 1 :(得分:2)

您可以在文件夹中使用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"

或在Google中搜索如何设置来源。我更喜欢只为server1.corp.xyz.com域设置origin。 你也可以在apache中设置。