【问题标题】:Loading offsite content with AJAX使用 AJAX 加载异地内容
【发布时间】:2011-03-30 04:31:36
【问题描述】:

我正在构建一个 PHP 页面,它将一些非站点内容加载到 DIV 中。页面上还有其他静态元素。我遇到的问题是页面加载时间过长,因为 PHP 在显示页面之前加载了场外内容。

我正在考虑通过 AJAX 在 DIV 中加载站外内容。我假设无论加载 AJAX DIV 需要多长时间,页面的其余部分都会加载。

在加载原始页面时,内容不需要更新或更改。它只需要加载一次内容。

我已经搜索了一段时间,并找到了很多不同的技术来做到这一点。比如jQuery。

您对如何做到这一点有什么建议吗?

任何指向教程的链接都会很棒。

谢谢

【问题讨论】:

  • “站外内容”究竟是什么意思?第三方内容?来自不同域的内容?你能控制它的样子吗?因为 Ajax 请求不经过一些调整(JSONP)就不能超出同一个域。
  • 我正在从我拥有的另一个域加载内容。是的,我可以控制它的外观。
  • 只是一个注释。我打算在同一个域上加载一个 PHP 脚本来获取站外内容。然后使用 AJAX 来显示。

标签: javascript ajax


【解决方案1】:

我想这可以帮助你:

$('#result').load('ajax/test.html');

参考:jquery

【讨论】:

    【解决方案2】:

    如果您控制第二个(场外)域,则可以通过在辅助域上加载脚本来解决same-origin policy 问题。该脚本应该启动您想要的各种 AJAXish 内容更新。

    在 example1.com 上:

    <div id="stuff-from-example2"></div>
    <script src="http://www.example2.com/js/stuff.js"></script>
    

    在 stuff.js 中:

    $('#stuff-from-exampl2").load('http://www.example2.com/fragment.html');
    

    【讨论】:

      【解决方案3】:

      您可以通过使用 JSONP 加载数据来绕过同源策略。

      这里是JQuery docs

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-04-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-11-07
        • 2011-06-17
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多