【问题标题】:Cross-domain AJAX - would this method work?跨域 AJAX - 这种方法有效吗?
【发布时间】:2011-01-24 10:17:20
【问题描述】:

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

  1. 创建 iframe
  2. 在 iframe 中加载 AJAX 调用的 URL
  3. 使用 JavaScript 获取 iframe 的内容

(这不会是异步的,但是可以使用setTimeout(functionToLoadTheIframe, 1) 来实现异步吗?)

【问题讨论】:

    标签: ajax iframe cross-domain


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

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

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

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

      问候,

      【讨论】:

      • 我目前正在使用服务器端脚本,它工作正常,所以我的问题部分是出于好奇的价值,但部分是为了看看如果我想使用 XML 将来是否有解决方法使用 javascript 但没有服务器端脚本的纯 html 页面中的 web 服务。
      • 它对于有限制的 iframe 是可行的。所以你应该在实施之前先研究一下。问候。
      【解决方案3】:

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

      【讨论】:

        猜你喜欢
        • 2012-05-16
        • 1970-01-01
        • 2011-05-12
        • 1970-01-01
        • 2015-04-25
        • 1970-01-01
        • 2018-08-28
        • 2011-03-20
        • 1970-01-01
        相关资源
        最近更新 更多