IE8 ajax快取問題

2021-09-07 06:50:17 字數 738 閱讀 8950

娘希匹,又遇到快取問題了。

下面的**,在其他瀏覽器都是正常的,但是在ie8中出現詭異問題。

$.ajax(

});

經過仔細排查,尼瑪是 ie8 存在的 ajax 快取問題。尼瑪,執行到這裡,實際上,並沒有訪問我們後台的**,而是使用了以前快取的結果,後台進行除錯時,沒有反應,才發現是這個問題!!!!ie8肯跌啊。

但是 奇怪的是,很多地方都是這樣的**,為什麼只有這裡被快取,而其他地方沒有快取問題呢?

後來想通了:因為這個ajax呼叫每次返回的結果是一樣的

解決方法

1.

$.ajaxsetup();

2. 引數加上屬性:cache:false

$.ajax(

});

3. 還可以在 url 後面加上時間戳等方法。

教訓

程式設計師真是應該:過馬路要兩邊看!

不要太相信預設值,需要什麼屬性,一定要指明。所以最好每次都指明:cache:false,或者每個js 頁面保證在最開始處執行一次: 

$.ajaxsetup();
其實 路徑帶上時間戳或者隨機數的方法,有時並不可靠!可能是瀏覽器會忽略它吧。反正ie8多次遇到 url帶時間戳失效的情況。

Ajax的IE快取問題

ajax的ie快取問題,會造成用open時用get方法不能重複提交。解決的辦法有以下幾種 1.客戶端在url後新增隨機數.new date gettime 或者math.random 或者送請求前加上 或者用post方法提交 2.伺服器端禁用快取.response.setheader pragma ...

IE7 IE8快取問題

使用ajax刪除頁面上的記錄時,會有這種情況出現 第一次刪除操作後,將游標定位在位址列中,回車,頁面正常顯示 刪除的記錄消失 當我們再次刪除其他記錄時,位址列回車,此時,刪除的記錄又會重現。這就是ie快取在作怪。大致有兩種解決方案 1 給ajax請求新增隨機數,如 new ajax.request ...

Ajax與IE6快取問題

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