【问题标题】:Can AJAX be used to load a module while the rest of the page is still loading?可以在页面的其余部分仍在加载时使用 AJAX 加载模块吗?
【发布时间】:2013-07-10 14:30:41
【问题描述】:

我正在为 Joomla 编写一个模块。它将显示通过 SOAP 请求获得的数据。 SOAP 请求的问题是检索数据最多需要 5 秒。此 Joomla 模块将位于包含许多其他 Joomla 模块和其他内容的页面上。我担心如果执行 SOAP 请求的这个 Joomla 模块最多需要 5 秒,它会延迟加载页面的其余部分。我们都去过因为页面的一部分而延迟加载的网站,我不希望这种情况发生。

我想知道解决方案是否让 Joomla 模块使用 AJAX(我还没有经验)来执行 SOAP 请求(目前它正在使用 PHP 完成)并以某种方式允许页面的其余部分在加载的同时SOAP 请求最多可能需要 5 秒才能返回数据以便显示。

对于这个问题有什么好的可行的解决方案?缓存数据并不是一个真正的选择,因为它是及时的。谢谢!

【问题讨论】:

    标签: php ajax joomla2.5


    【解决方案1】:

    我会选择 Ajax。

    使用 window.onload() 来触发你的 ajax 来获取数据。唯一的问题是整个页面会在您获取数据之前加载,从而导致显示最终数据的潜在延迟。

    代码会根据喜好变化很大,但是ajax的原理是:

    1. 创建一个占位符或使用占位符内容(或无)
    2. 在事件中(在本例中为页面就绪)请求数据。
    3. 数据准备就绪后,将占位符内容替换为您的数据。

    这还有一个额外的好处,即您也可以使用“刷新”按钮来触发更改,因此用户可以请求更新数据而无需重新加载原始页面。

    Ajax 非常值得学习,因为无论是使用 jquery 还是简单的 js,它都是轻而易举的事。 W3schools.com 有一个很好的教程。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-12-04
      • 2010-09-08
      • 2016-03-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多