ajax頁面無刷新 IE下遭遇Ajax緩存導致數據不更新的問題

在做ajax頁面無刷新添加的時候,IE下遭遇Ajax緩存,因為剛開始并不知道IE有這個壞毛病,折騰好久 , 終于解決問題 。

總結一下解決辦法:
在IE下用Ajax請求某一頁面,通常會因為緩存的原因而返回上一次的結果,造成混亂,[即get方式時,獲取數據,因發送參數和地址都一致 , 故IE瀏覽器會從緩存中取,而不會去請求服務器端 , 而post方式因為參數的不同,不會產生這個問題]而FF下不會出現這種情況 。為了不受緩存影響,可以這樣做:

IE訪問策略:
Internet選項--瀏覽歷史記錄--設置-- Internet 臨時文件的選項改為每次訪問網頁時也可以
1: 在AJAX請求的頁面后加個隨機函數,我們可以使用隨機時間函數

在javascript發送的URL后加上
1 t=Math.random()

例如這樣:
1 URL "http://或者new Date();

在 URL 參數后加上 www.hake.cc
1 "?timestamp="new Date().getTime();

最好的方法:
1 $.ajaxSetup({cache:false})
這樣頁面中所有的ajax請求時,都執行這個 。就不必改已經完成的N個接口您可能感興趣的文章:pushState、replaceState、onpopstate 實現Ajax頁面的前進后退刷新使用Yii整合的pjax(pushstate ajax)實現無刷新加載頁面使用ajax和history.pushState無刷新改變頁面URL示例使用ajax實現無刷新改變頁面內容和地址欄URL基于iframe實現類似于ajax的頁面無刷新Ajax無刷新Url提交頁面JS Ajax Jquery實現頁面無刷新分頁以及分組 超強的實現PHP Ajax實現頁面無刷新發表評論PHP Ajax實現頁面無刷新發表評論pushState實現Ajax無刷新頁面切換

相關經驗推薦