2009-07-20 88 views
1

我正在使用jQuery.ajax(http://docs.jquery.com/Ajax/jQuery.ajax)將不同網頁的內容注入當前頁面。把它想象成一個「預覽」窗口。 jQuery有一個可選的緩存參數,它非常適合從緩存中加載內容,而不是再次請求相同的頁面。jQuery.ajax - 強制高速緩存失效

我的問題是,正在注入的內容可以從不同的位置進行編輯。發生這種情況時,我想使瀏覽器上的緩存無效,以便下一次請求頁面內容時,jQuery將請求頁面而不是使用緩存。我可以將緩存參數設置爲false,但不會緩存任何內容。我需要緩存內容,並且只在源內容更改時重新請求。

如何使當前緩存的網頁無效?

回答

2

在我看來,這是不可能的。假設你使用AJAX調用來調用update.php。現在每次你想使用緩存版本。但有一段時間你想要未緩存的版本。您必須通知您的站點使用未緩存的版本。因此,你可能需要另外一個並行腳本來檢查ajax是否應該獲取緩存或未緩存的update.php版本,這基本上會破壞你的目的。

你可以做到這一點,我認爲該方法是使用E-標籤:

http://en.wikipedia.org/wiki/HTTP_ETag

+0

這是否意味着沒有辦法從列表中訪問緩存的項目列表,只需刪除一個項目?不用檢查內容是否發生了變化,當編輯內容時,我可以從緩存中完全刪除頁面......如果可能的話。 – 2009-07-20 14:10:05