使用JavaScript制作跨网站请求的最佳方式?

时间:2009-06-04 01:35:04

标签: javascript ajax cross-domain

在跨站点XHR API得到广泛支持之前,通过JavaScript提出跨站点请求的最佳方法是什么?我一直在使用iFrames,但那些可能会有点混乱。有没有更好的办法? (更好的是,我的意思是更容易使用。)

此外,我更愿意看到纯JavaScript代码,而不是jQuery等框架。我正在使用自己的迷你框架,我不想查看他们是如何做到的。< / p>

编辑:我忘了提及,我无法控制目标服务器,因此我无法使用动态<script>代码方法。

3 个答案:

答案 0 :(得分:4)

我知道有两种常见的方法。一个是在你的服务器上使用代理,基本上是一个为你提取数据的php文件。

另一个是使用动态脚本标记。更多信息:

http://www.hunlock.com/blogs/Howto_Dynamically_Insert_Javascript_And_CSS

此幻灯片的第9页也有一些信息:

http://bulletproofajax.com/workshop/slides/04formats.html

答案 1 :(得分:1)

您还可以查看easyxss(http://code.google.com/p/easyxss/wiki/InvokingRemoteMethods)。只需几行代码,您就可以获得跨域限制的方法调用。

答案 2 :(得分:0)

如果您尝试抓取的数据是JSON,请查看JSONP。它的工作原理是将一个<script>标记注入到引用远程服务器上脚本的DOM中。另一端的服务器返回一些json / javascript样式响应,调用带有数据的“回调”函数。基本上远程脚本看起来像这样:

callbackfunc({'somedata':'testing'});

callbackfunc是您在脚本中定义的函数。