Ajax 受到IE快取影響

2021-05-23 03:13:44 字數 704 閱讀 5584

直奔主題:

1、背景了解

2、問題描述

jquery下ajax輪詢請求(也就是重複執行下面的**):

以獲取最新的訊息即時顯示。火狐下正常更新,但是ie下get回來的都是一樣的東西!

3、問題分析

因為我在後台用到了session,我以為是ie和ff對session的處理不一樣造成的,但是網上沒有一種適合的解決辦法。後來定位到ajax和session上,但是session記錄的東西在我的伺服器上啊,我換了乙個靜態變數來記錄我以前用session記錄的值,還是火狐下正常更新,但是ie下get回來的都是一樣的東西!最後定位到是ajax提交的問題。

網上搜尋後發現,需要在請求連線上加乙個時間戳以達到禁用快取的目的,否則ie會針對同一請求連線先去查快取裡儲存的cookie。所以要使每次請求的連線是不一樣的,故此加乙個時間戳,**如下:

4、補充說明

昨天在修改了輪詢時間以後又出現了問題。我把輪詢時間修改為300毫秒,在ie下每次取回來相同的三條資訊,簡單分析一下就明白,又是受ie快取影響,時間戳最終只取到秒,又因為1s≈300ms×3,故在一秒之內請求同一連線三次!所以要把時間戳提高到毫秒級別的。**如下:

Ajax的IE快取問題

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

IE8 ajax快取問題

娘希匹,又遇到快取問題了。下面的 在其他瀏覽器都是正常的,但是在ie8中出現詭異問題。ajax 經過仔細排查,尼瑪是 ie8 存在的 ajax 快取問題。尼瑪,執行到這裡,實際上,並沒有訪問我們後台的 而是使用了以前快取的結果,後台進行除錯時,沒有反應,才發現是這個問題!ie8肯跌啊。但是 奇怪的是...

Ajax與IE6快取問題

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