2013-07-12 34 views
0

我正在爲Joomla編寫一個模塊。它將顯示通過SOAP請求獲取的數據。 SOAP請求的問題是最多需要5秒才能檢索數據。此Joomla模塊將與其他許多Joomla模塊和其他內容一起在頁面上。我擔心,如果這個執行SOAP請求的Joomla模塊需要5秒鐘的時間,它會延遲加載頁面的其餘部分。我們都是因爲頁面的一部分而延遲加載的網站,我不希望發生這種情況。當頁面的其餘部分仍在加載時,可以使用AJAX加載模塊嗎?

我想知道如果解決方案是讓Joomla模塊使用AJAX(我還沒有經驗)做SOAP請求(目前它正在用PHP完成),並以某種方式允許頁面的其餘部分加載而SOAP請求返回數據可能需要5秒才能顯示。

什麼是這個問題的一個好的可行解決方案?緩存數據並不是一個真正的選擇,因爲它是及時的。謝謝!

回答

0

我會用這個Ajax去。

使用window.onload()來觸發你的ajax來獲取數據。唯一的問題是整個頁面將在您獲取數據之前加載,導致顯示最終數據的潛在延遲。

的代碼也會相差很大,這取決於偏好,但阿賈克斯的原則是:

  1. 創建一個佔位符或佔位符的內容(或沒有)
  2. 在一個事件(在這種情況下,頁面準備好)請求數據。
  3. 數據準備就緒後,請將佔位符內容替換爲您的數據。

這有一個額外的好處,您可以使用「刷新」按鈕來觸發更改,因此用戶可以請求更新的數據,而無需重新加載原始頁面。

Ajax非常值得學習,因爲它是使用jquery或簡單js的輕而易舉的工具。 W3schools.com有一個很好的教程。

相關問題