IE瀏覽器會緩存GET請求

原由

  IE瀏覽器會緩存網頁中的GET和XHR的內容,請求方式是get方式時,IE瀏覽器會進行識別。若是該get請求的url是第一次請求的話,會請求服務器,從數據庫中獲取數據;若是該get請求的url不是第一次請求的話,那麼該url就不會請求服務器,IE瀏覽器會直接從緩存中拿到上次該url獲取的數據。不管是什麼插件的get方式請求,IE瀏覽器都會這樣進行處理的,從而致使數據不一樣步。ios

解決方案

1. 在get請求的url中增長隨機標識(推薦)ajax

在請求後拼接隨機數或者時間戳,使兩次請求的url不一致,瀏覽器就不會從緩存中讀取數據

2. 在axios中設置header,ajax能夠用setRequestHeader方法(推薦)數據庫

const api = axios.create({
    // ...
    headers: {
        'Cache-Control': 'no-cache'
    }
    // ...
})

3. 修改瀏覽器配置 (只能暫時解決問題)axios

Internet選項 >> 瀏覽歷史記錄 >> 設置 >> Internet 臨時文件的選項改成‘每次訪問網頁時’

4. 在服務端設置 header(「Cache-Control: no-cache, must-revalidate」)(看狀況)api

5. 改成post接口(不推薦)瀏覽器

相關文章
相關標籤/搜索