2009-06-04 67 views
1

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

此外,我更喜欢看到纯JavaScript代码,而不是像jQuery等框架。我使用我自己的迷你框架,我不想看看他们是怎么做到的。

编辑:我忘了提及,我没有控制目标服务器,所以我不能使用动态<script>标记方法。

回答

4

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

另一个是使用动态脚本标记。这里更多的信息:这个幻灯片

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

第9页也有一些信息:

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

+0

我无法控制目标的服务器,所以第二种方法不起作用。但代理方法+1,没有考虑到这一点。 – 2009-06-04 01:49:21

+0

不要尝试一些黑客的东西,使用代理。如果您担心某人使用代理服务器不好,请尽可能将其锁定,以便它只能获得您需要的代理服务。 – epascarello 2009-06-04 02:55:36

0

如果你想抓住的数据是JSON,看看JSONP。它通过将<script>标记注入到引用远程服务器上的脚本的DOM中起作用。另一端的服务器返回一些调用数据的“回调”函数的json/javascript样式响应。基本上远程脚本将看起来是这样的:

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

哪里callbackfunc是你在你的脚本中定义的功能。