如何ajax到不同的域

时间:2017-04-05 11:40:04

标签: javascript php json ajax cors

这个问题困扰了我一段时间。所以这是故事。还有另一个域名,它包含一个生成json结果的php文件: 让我们说http://www.otherdomain.com/token.php,它会产生:

{"token":"123455"}

我想从mywebsite.com获取ajax以获取并根据给出的响应采取行动。问题是otherdomain.com不属于我自己,我无法修改其中的内容或任何内容。

所以我在stackoverflow上搜索了几个答案,并解释了为什么这不起作用。

  1. 设置CORS标头。 它没有用,因为域名不是我自己的,我无法做任何事情。

  2. 使用我的服务器作为代理来请求数据。 (这可以使用几次,但是当我的网站上的访问者越来越多时,会有更多的数据从单个ip发送到来自我的服务器的站点,然后可能会触发403错误)

  3. 在chrome或firefox上使用插件。 (如果我是唯一一个使用本网站的人,这个选项就没问题了)

  4. 使用JsonP。它显示在jQuery getJSON works locally, but not cross domain中,但答案显示您需要修改otherdomain.com文件上的响应数据,因为我不拥有该域名,所以无法做任何事情。

1 个答案:

答案 0 :(得分:0)

您可能无法正确使用您的选项号码4。 jsonp特别适用于跨域请求。所以,jsonp是你的解决方案。如果你卡住了,那么看看谷歌地图或其他服务,他们有工作jsonp的例子。