小编典典

如何将jQuery AJAX用于外部域?

ajax

我正在尝试使用.get()或.post()执行简单的jQuery AJAX尝试。

如果我的服务器上有本地副本,请执行以下操作:

$.get('/hash.php',...,...)

我在Firebug的控制台中监视获取已完成,并且得到响应。

我所更改的只是到外部服务器的URI,没有任何反应。

$.get('https://secure.mysite.com/subdir/hash.php',...,...)

如果我取消了’s’或使用了post,则无济于事。我是否缺少一些我应该在jQuery中使用的参数?

编辑:我忘记提及我这样做的原因是因为我最终要从一个PHP4站点迁移到一个PHP5站点,但是目前,实时PHP4站点需要一个不在PHP4中的功能。因此,我正在调用PHP5服务器来执行此操作。我认为我有一个很好的解决方法。谢谢!


阅读 300

收藏
2020-07-26

共1个答案

小编典典

您不能将Ajax请求发送到部署应用程序的另一个域之外的另一个域。这是因为在Web浏览器中实施了同源起源策略
-一种安全措施。

不过,有两种可能的解决方案:

  • 将请求发送到您自己的服务器,该服务器将充当另一个服务器的代理(通过PHP脚本,或者最好使用Apache的某些mod_proxy_http模块)
  • 或不使用“ Ajax”,而是其他技术,例如动态创建<script>标签-不受SOP约束。
2020-07-26