0

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

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

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

4

1 回答 1

0

I would go with Ajax for this one.

Use window.onload() to trigger your ajax to fetch the data. The only problem is that the whole page will load before you fetch your data, resulting in potential delays displaying final data.

The code will vary a lot depending on preference but the principle of ajax is:

  1. Create a placeholder or with placeholder content (or nothing)
  2. On an event (in this case page ready) request data.
  3. When the data is ready, replace the placeholder content with your data.

This has an added advantage that you can use a 'refresh' button to trigger the change too, so users can request updated data without reloading the original page.

Ajax is well worth learning as it is a doddle either using jquery or simple js. W3schools.com have an excellent tutorial.

于 2013-07-12T08:23:08.223 回答