今天,有同事發現相關業務資料修改後,在ie6下還是顯示修改前的值。但在其他瀏覽器和ie7、ie8下,沒有這個問題。
原因:用ajax請求時,如果出現重複的url,瀏覽器不會向伺服器傳送請求,而是根據之前相同的url請求結果返回。原因就在於之前的請求及結果已經儲存在了快取裡,如果遇到相同url時,結果是直接從快取裡取得。
解決辦法:
1、設定ie6中工具-internet選項-internet臨時檔案-設定-檢查每次網頁的較新版本-設定為每次訪問此頁時檢查。
2、在ie傳送ajax資料時,傳送乙個隨機時間戳。即只要讓每次請求的url不一樣就可以了,比如每次請求時在url中加上時間的毫秒數或隨機數(new date().gettime()或者math.random() )。
另外,網上還有很多解決方法:
1.送請求前加上
或者用post方法提交
2.伺服器端禁用快取(只是禁止了服務端快取,不能禁止ajax快取) .
response.setheader("pragma","no-cache");
response.setheader("cache-control","no-cache");
response.setdateheader("expires", 0);
Ajax與IE6快取問題解決方案
今天,有同事發現相關業務資料修改後,在ie6下還是顯示修改前的值。但在其他瀏覽器和ie7 ie8下,沒有這個問題。原因 用ajax請求時,如果出現重複的url,瀏覽器不會向伺服器傳送請求,而是根據之前相同的url請求結果返回。原因就在於之前的請求及結果已經儲存在了 快取裡,如果遇到相同url時,結果...
ie6 濾鏡問題
由於有透明效果,為了在ie6下能正常看到效果,就要使用濾鏡的功能 如 background none filter progid dximagetransform.microsoft.alphaimageloader src png 乙個大div下面用了濾鏡功能,他將會使在div下面的form a等...
IE6非同步請求快取導致的亂碼問題
近日在公升級kissy的過程中,在ie6下遇到乙個很奇怪的問題 頁面編碼是gbk,ji和css檔案是utf 8的,當使用者要使用某些功能時頁面會彈出迷你登入框提示使用者登入,會傳送非同步請求,獲得登入框的模板,編碼是和js一致的 utf 8 第一次是ok的,但當重新整理頁面第二次彈出登入框時,問題來...