天天看點

淺談Ajax解決浏覽器的緩存問題

Ajax能提高頁面載入速度的主要原因是通過Ajax減少了重複資料的載入,也即在載入資料的同時将資料緩存到記憶體中,一旦資料被加載,隻要沒有重新整理頁面,這些資料就會一直被緩存在記憶體中,當送出的URL與曆史的URL一緻時,就不需要送出給伺服器,也即不需要從伺服器擷取資料,雖然降低了伺服器的負載,提高了使用者體驗,但不能擷取最新的資料。為了保證讀取的資訊都是最新的,需要禁止其緩存功能。

解決方案有如下幾種:

① 在Ajax發送請求前加上anyAjaxObj.setRequestHeader("If-Modified-Since", "0")。

② 在Ajax發送請求前加上anyAjaxObj.setRequestHeader("Cache-Control", "no-cache")。

③ 在URL後加上一個随機數:"fresh=" + Math.random();。

④ 在URL後加上時間搓:"nowtime=" + new Date().getTime();。

⑤ 如果是使用jQuery,則用$.ajaxSetup({cache:false})。這樣頁面的所有Ajax都會執行該語句而不需要儲存緩存記錄。

繼續閱讀