在跨站点XHR API得到广泛支持之前,通过JavaScript提出跨站点请求的最佳方法是什么?我一直在使用iFrames,但那些可能会有点混乱。有没有更好的办法? (更好的是,我的意思是更容易使用。)
此外,我更愿意看到纯JavaScript代码,而不是jQuery等框架。我正在使用自己的迷你框架,我不想查看他们是如何做到的。< / p>
编辑:我忘了提及,我无法控制目标服务器,因此我无法使用动态<script>
代码方法。
答案 0 :(得分:4)
我知道有两种常见的方法。一个是在你的服务器上使用代理,基本上是一个为你提取数据的php文件。
另一个是使用动态脚本标记。更多信息:
http://www.hunlock.com/blogs/Howto_Dynamically_Insert_Javascript_And_CSS
此幻灯片的第9页也有一些信息:
答案 1 :(得分:1)
您还可以查看easyxss(http://code.google.com/p/easyxss/wiki/InvokingRemoteMethods)。只需几行代码,您就可以获得跨域限制的方法调用。
答案 2 :(得分:0)
如果您尝试抓取的数据是JSON,请查看JSONP。它的工作原理是将一个<script>
标记注入到引用远程服务器上脚本的DOM中。另一端的服务器返回一些json / javascript样式响应,调用带有数据的“回调”函数。基本上远程脚本看起来像这样:
callbackfunc({'somedata':'testing'});
callbackfunc
是您在脚本中定义的函数。