2012-12-07 38 views
0

我有一個頁面,其中包含大量圖像(大約50個),每個圖像後跟一個表單。這是一個基本測驗,其中輸入使用$ .ajax發送到PHP文件,並與MySQL數據庫的內容匹配。頁面未顯示內容的最近更新

成功匹配(即正確答案)後,表單將被PHP腳本提供的數據庫中的信息替換。如果問題之前已被正確回答,則從一開始就使用PHP檢索信息。

沒有太瘋狂。

但是,雖然頁面上的所有內容都可以正常工作,但瀏覽器(幾乎所有瀏覽器)似乎都會緩存內容,因此,當您離開頁面並稍後返回時,回答的問題仍會以表單,而不是內容。據我所知,瀏覽器會在加載時緩存內容,而不是在頁面上添加的內容。我可以在數據庫中看到答案。

我不介意讓圖像緩存,但內容需要在每次頁面加載時更新。我怎麼做?

我希望這是有道理的。

謝謝。

+1

也許這將幫助:http://stackoverflow.com/questions/49547/making-sure -a-web-page-is-not-cached-across-all-browsers –

+0

謝謝。我將PHP版本添加到網站,但該頁面仍然與數據庫的內容不符。意思是,如果我回答問題並重新加載頁面,則不會顯示爲正在回答。如果我使用不同的瀏覽器使用相同的用戶設置登錄,則顯示爲正在接聽。我不知道爲什麼。 – user1885905

回答

0

您必須設置一個指定不緩存的標頭。如果你使用jQuery,您可以設置這樣的:

$.ajaxSetup({ cache: false }); 

嘗試meta標籤:

<meta http-equiv="Pragma" content="no-cache"> 
<meta http-equiv="Expires" content="-1"> 
<meta http-equiv="CACHE-CONTROL" content="NO-CACHE"> 
+0

我在$ .ajax調用中有緩存:false,但這不是問題。這是頁面本身,似乎被緩存。 – user1885905

+0

如何嘗試meta標籤? (看我的編輯) –

+0

仍然沒有運氣。我已經重寫了大部分網站,以便所有問題都通過$ .ajax加載,因爲它們是通過點擊菜單來請求的。這部分現在以迂迴的方式運作。但是,反映菜單中每個問題的狀態(未正確回答時爲綠色)的CSS(未通過$ .ajax加載)仍然被緩存。意思是,最近正確回答的問題在一段時間內不會變成綠色。 – user1885905