解決ie下vue列表數據不能即時刷新的問題


項目上要兼容IE瀏覽器(客戶要求),發現之前在谷歌瀏覽器下,操作(增刪改查)列表后列表能即時刷新(雙向綁定),IE下卻不行。

自己調試一下發現,在IE11下,如果GET請求請求相同的URL,默認會使用之前請求來的緩存數據,而不會去請求接口獲取最新數據。

另外,在F12開發者模式一直打開着的情況下,是能夠正常即時刷新列表的,上面的假設也得到了進一步論證。

解決方法是,給每個請求的URL后加一個時間戳【new Date().getTime()】,這樣就保證了每一次請求的URL都不同,IE11就會不斷的請求接口而不使用緩存數據。

export function api_getList(params) { // 獲取記錄列表
  return request({
    url: 'list?temm=' + new Date().getTime(),
    method: 'get',
    params: params
  })
}

另外,更高級的做法是統一攔截所有請求,在請求發送前給每一個請求先加一個時間戳,更高效率地解決問題。

一開始以為是VUE對IE的兼容性問題,比如不支持因為IE不支持ES6的一些新特性什么的,但是其實問題只是出現在寫法上,只能說IE的兼容真的太難受了。

 

"我走了很長的路,有很多故事想要跟你講。"


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM