将数据从PHP发送到不同域中的Javascript

时间:2012-06-13 16:32:48

标签: php javascript cross-domain

我使用AJAX将数据从Javascript发送到PHP文件,但我无法将响应数据从PHP恢复到Javascript,因为我们知道Javascript代码与PHP代码位于不同的域中。有人有想法解决这个问题吗?

的问候,

3 个答案:

答案 0 :(得分:3)

要在JS跨域中接收响应,您可以通过添加Access-Control-Allow-Origin标头来启用CORS。但是,这可能很不稳定。

更好的解决方案是将您的响应编码为JSONP

以下是使用JSONP的示例。我正在调用的API是我自己的,它支持JSONP响应。 JSONP Example

相比之下,以下示例也有效。在这种情况下,我没有使用JSONP。此请求有效,因为我的API已启用CORS。但是,正如我所说,我发现这很不稳定,并会推荐JSONP。

CORS Example

答案 1 :(得分:1)

跨域JavaScript可能很难。看看http://easyxdm.net/wp/

答案 2 :(得分:0)

AFAIK出于安全原因,无法将ajax请求发送到其他域。 我可以想到一些解决方法:

  • 调用一个php代理,然后通过套接字或curl发出请求。 Example
  • 制作一个调用它的flash影片并设置一个crossdomain.xml文件