【问题标题】:Is there a way to do cross domain javascript calls asynchronously?有没有办法异步进行跨域javascript调用?
【发布时间】:2012-02-12 17:59:46
【问题描述】:

注意以下条件:

  1. 它必须是异步的。
  2. 不得通过“跨源资源共享”和flash xhr。
  3. 没有 HTML5,或者我可以说,它应该是跨浏览器兼容的。 (IE6+、Chrome 5+、Opera、Mobile Safari、Safari 等)
  4. 来回传递的数据应为 json。
  5. 我拥有这两个域并且可以控制它们。

【问题讨论】:

  • 我最终使用 iFrames 来实现这一点。jsonp 方法和脚本注入不适用于 firefox,它对“异步”操作有不同的行为,这是我不想要的。 hsivonen.iki.fi/script-execution 我觉得 easyXDM 对我的应用来说有点矫枉过正。但它的行为确实像宣传的那样,所以接受它吧。。
  • easyXDM 对任何事情都不过分——它可用于创建自动调整大小的 iframe 以及复杂的 API。这取决于你:)

标签: javascript ajax cross-domain


【解决方案1】:

你可以使用JSONP

【讨论】:

  • 不正确,加载新脚本会导致阻塞。
  • @David Dorward,AFAIK 在 DOM 中添加 <script> 标记不会阻止执行,也不会在检索远程资源期间冻结浏览器。
  • @Aaron 做得好,JSONP 没有理由危及网站的安全
  • 有人可以验证 jsonp 是异步的吗?我通过在服务器端设置随机睡眠时间来尝试它,javascript在所有情况下都被阻塞了。
  • @Shrinath,你在服务器上使用什么语言?
【解决方案2】:

使用easyXDM - 它可以完成上述所有工作,并且是 Twitter、Scribd、Disqus 和许多其他人正在使用的。

它提供跨域 RPC,没有已知的攻击媒介。

【讨论】:

    猜你喜欢
    • 2015-04-18
    • 1970-01-01
    • 2020-10-10
    • 1970-01-01
    • 2019-06-30
    • 2011-04-15
    • 2010-11-13
    • 1970-01-01
    • 2012-05-16
    相关资源
    最近更新 更多