Ajax與IE6快取問題

2021-05-26 02:02:25 字數 693 閱讀 3276

今天,有同事發現相關業務資料修改後,在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的,但當重新整理頁面第二次彈出登入框時,問題來...