清除xhmlhttp快取的方法

antzone發表於2017-03-17

快取是一把雙刃劍,有好處也有壞處,好處就是能夠從本地讀取資料,提高瀏覽器速度也能夠減輕伺服器壓力,但是也有缺點,那就是無法實時顯示伺服器的資料,有可能伺服器的資料已經更新了,但是在客戶端卻無法顯示,所以有時候需要清除當地的快取,下面就介紹一下如何清除快取。

解決方案一:

在網頁的頭部進行,明確宣告不需要快取,可以在xmlhttp.open()之後傳送一個If-Modified-Since頭就可以了,程式碼如下:

[JavaScript] 純文字檢視 複製程式碼
xmlhttp.setRequestHeader('If-Modified-Since','0');
xmlHttp.onreadystatechange=stateChanged;
xmlHttp.open("GET", url, true);
xmlHttp.setRequestHeader('If-Modified-Since', '0');
xmlHttp.send(null);

解決方案二:

在預設情況下,IE瀏覽器會將相同的URL請求快取起來,這樣讀資料的時候就是從快取中讀取,而不是從伺服器讀取,那麼每次請求保持url地址不同即可實現此效果,那麼就可以在url的後部新增隨機數。

[JavaScript] 純文字檢視 複製程式碼
var url="antzone.aspx?key="+new Date().getTime()+"&username="+theName;

以上程式碼是以時間戳作為隨機數。


相關文章