Ajax與IE6快取問題解決方案

2021-09-01 01:53:22 字數 949 閱讀 5448

今天,有同事發現相關業務資料修改後,在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請求時,設快取為false

$.ajax({

url: 'tstrategybase.do?method=checkstrategystates&id='+id,

cache:false,

datatype: 'html',

success: function(data){

後邊的**省略。cache:是否快取,其實就是在url加隨機數

Ajax與IE6快取問題

今天,有同事發現相關業務資料修改後,在ie6下還是顯示修改前的值。但在其他瀏覽器和ie7 ie8下,沒有這個問題。原因 用ajax請求時,如果出現重複的url,瀏覽器不會向伺服器傳送請求,而是根據之前相同的url請求結果返回。原因就在於之前的請求及結果已經儲存在了快取裡,如果遇到相同url時,結果是...

當html css遇到IE6部分問題解決方法

ie6對png的修復 注意 ie6對png24支援度不高,使用會無法顯示。解決方法 1 png8代替png24 清晰度會下降 2 使用js解決,引入js檔案。格式 條件hack css hack指的是乙個特殊的 只在某些瀏覽器中可以識別,其他瀏覽器不能識別。片 練習 適用於以上版本,旨在ie6中執行...

IE6下margin雙倍的問題解決辦法

有時候我們給div乙個margin屬性的時候,在ie6下會發現,這個margin間距產生了雙倍的效果,例如 float left margin left 10px 首頁 這段 在ff和ie7以上版本均正常,但是在ie6下,左間距就會變為20px,這是因為,ie6下當div有float浮動屬性時mar...