2013-04-20 35 views
1

我有一個查詢MySql數據庫的頁面,然後將結果顯示爲HTML。假設數據庫發生變化,當用戶返回頁面時,數據庫的新更改是否會反映出來? 我擔心用戶第一次訪問該網頁時獲得的數據在返回時並未發生變化。有沒有一種方法可以防止用戶進入頁面時緩存數據。用戶返回時的查詢緩存

+0

不僅數據庫,但鉻後退按鈕(即至少鉻)有一個特殊的功能,讓您即使是*最後ajax請求*的高速緩存,所以你可能甚至沒有手,除非你禁用該選項(我忽略這是否可能) – Sebas 2013-04-20 21:37:05

回答

0

如果您的頁面沒有指定緩存行爲,那麼瀏覽器將會最好地猜測它是否應該緩存頁面。在某些情況下,當用戶點擊「返回」時,瀏覽器將顯示相同的頁面,而在其他情況下則可能不顯示。

您應該明確告訴瀏覽器不要緩存頁面並重新驗證它。您可以使用下面的代碼來實現這一目標:

header("Cache-Control: no-cache, must-revalidate"); 
header("Expires: Sat, 26 Jul 1997 05:00:00 GMT");