我們在做專案中,一般提交請求都會通過ajax來提交,但是測試的時候發現,每次提交後得到的資料都是一樣的,除錯可以排除後台**的問題,所以問題肯定是出在前台
每次清除快取後,就會得到乙個新的資料,所以歸根到底就是瀏覽器快取問題。糾結了很久,終於解決了,在這裡總結一下。
我們都知道ajax能提高頁面載入的速度主要的原因是通過ajax減少了重複資料的載入,也就是說在載入資料的同時將資料快取到記憶體中,一旦資料被載入其中,只要我們沒有重新整理頁面,這些資料就會一直被快取在記憶體中,當我們提交 的url與歷史的url一致時,就不需要提交給伺服器,也就是不需要從伺服器上面去獲取資料,雖然這樣降低了伺服器的負載提高了使用者的體驗,但是我們不能獲取最新的資料。為了保證我們讀取的資訊都是最新的,我們就需要禁止他的快取功能。
解決方案有如下幾種:
1、在ajax傳送請求前加上 anyajaxobj.setrequestheader("if-modified-since","0")。
2、在ajax傳送請求前加上 anyajaxobj.setrequestheader("cache-control","no-cache")。
3、在url後面加上乙個隨機數: "fresh=" + math.random();。
4、在url後面加上時間搓:"nowtime=" + new date().gettime();。
5、如果是使用jquery,直接這樣就可以了$.ajaxsetup()。這樣頁面的所有ajax都會執行這條語句就是不需要儲存快取記錄。
Ajax中瀏覽器的快取問題解決方法
每次清除快取後,就會得到乙個新的資料,所以歸根到底就是 瀏覽器快取問題。糾結了很久,終於解決了,在這裡總結一下。我們都知道 ajax能提高頁面載入的速度主要的原因是通過ajax減少了重複資料的載入,也就是說在載入資料的同時將資料快取到記憶體中,一旦資料被載入其中,只要我們沒有重新整理頁面,這些資料就...
微信瀏覽器的快取問題解決
1.設定標籤,這個在很多臺裝置上測試過,都沒有起到作用。2.靜態資源加上版本號 3.入口檔案被快取 入口檔案index.html被快取後,載入的檔案是舊的或者已經不存在於伺服器中的檔案 a.修改企業號入口url,在html後面加上?v 12345的hash值,無效 b.用webpack給入口檔案加上...
Ajax瀏覽器快取問題的解決
var url basepath servlet dodelgroupmember?groupname time currenttime names str 加入時間戳來解決瀏覽器的快取的問題!2 在xmlhttprequest傳送請求之前加上xmlhttprequest.setrequesthea...