跨域AJAX - 这种方法有用吗?

时间:2010-03-06 10:14:03

标签: ajax iframe cross-domain

如果有办法让跨域AJAX(使用XML而不是JSON)工作,我一直在想。任何人都可以看到以下不起作用的任何原因:

  1. 创建iframe
  2. 在iframe
  3. 中加载AJAX调用的URL
  4. 使用JavaScript获取iframe的内容
  5. (这不是异步的,但是可以使用setTimeout(functionToLoadTheIframe, 1)来实现异步性吗?)

3 个答案:

答案 0 :(得分:5)

是的,您可以将iframe用于跨域AJAX。它有点复杂(如果你想使用XML则更多),但这是可能的。这是一篇很好的文章,描述了几种不同的hacks。我认为一个与你所描述的非常相似。更重要的是,他描述了关于iframe到iframe通信的规则,这可能会有所帮助。

http://softwareas.com/cross-domain-communication-with-iframes

答案 1 :(得分:3)

用于允许远程调用的iframe和我们今天所知的“模拟”ajax,答案是肯定的......你可以使用iframe,但你必须使用javaScript编写复杂的客户端脚本。

您是否考虑在您的域上使用服务器端脚本/应用程序作为远程资源的代理?

也就是说,将您的请求发送到您域中的脚本/应用程序,然后从远程主机获取数据/信息。

的问候,

答案 2 :(得分:2)

由于相同的域安全限制,这不起作用。在大多数情况下,您无法与具有不同域的帧进行交互。否则,恶意网站可能会加载您的电子邮件收件箱。