2013-10-28 108 views
0

我有一個網頁每隔240秒自動刷新一次HTML Meta標記。在刷新過程中,它會從數據庫中提取數據,在向用戶顯示之前,該數據庫需要大約15到20秒才能構建數據庫。在此期間,我希望顯示一個帶有加載消息的小DIV,告訴用戶它正在加載數據。 更復雜的是,用戶有幾個菜單選項來過濾掉數據庫中的特定數據。當點擊這樣一個選項時,頁面會重新加載並需要15到20秒才能建立。刷新之前顯示DIV

用戶是不熟悉此加載時間可能會覺得有必要一遍一遍點擊幾秒鐘希望該網頁將更快地加載在同一個菜單選項。但相反,它很可能會導致數據庫服務器過載請求。

因此,要解決這個我想使用jQuery顯示加載信息,然後把它加載從數據庫中的數據(使用PHP腳本),最後轉儲數據在頁面上。

我做過類似的東西但僅限於用戶點擊這引起了jQuery腳本加載數據同時顯示(使用CSS規則)等待DIV的鏈接。

我無法弄清楚如何實施這個解決方案的自動刷新。

有些幫助會很好。

+1

也許分享你迄今爲止? – tinybyte

+1

不要進行全面刷新,只更新可能通過ajax更改的頁面片段。它將允許網站在請求完成時繼續工作 – megawac

回答

0

您可以使用相同的解決方案自動刷新功能,以及與初始頁面加載不容器需要調用數據庫中的數據,而是顯示一個加載信息,並啓動一個AJAX調用一個提服務器端腳本返回數據。

你的頁面加載:

  1. 請求
  2. Server查詢DB
  3. DB響應
  4. 頁面負載(數據)

理想的頁面加載:

  1. 請求
  2. 頁面加載(無數據)< - 在這裏加載消息
  3. AJAX調用
  4. Server查詢DB
  5. DB響應
  6. 頁面更新(數據)
0

我想說第二個megawac的評論。不要使用元刷新。另外,15-20秒是用於生成將每4分鐘產生的數據庫報告的非常長的時間;可能性是你很糟糕地陷入你的服務器。很少有查詢真的需要這麼長時間,特別是需要幾乎連續運行的查詢。我會強烈建議重構您的查詢或做一些緩存來加快速度。如果你發佈了一些代碼,我相信人們會很高興看到它。

相關問題