鍍金池/ 問答/Linux  HTML/ 如何緩存頁面已經(jīng)請(qǐng)求過的數(shù)據(jù)?

如何緩存頁面已經(jīng)請(qǐng)求過的數(shù)據(jù)?

需求:數(shù)據(jù)通過ajax加載成功后,如果用戶刷新頁面何如緩存已經(jīng)請(qǐng)求完成的數(shù)據(jù)呢?而不是再次請(qǐng)求后端數(shù)據(jù)。兼容IE8及以上

回答
編輯回答
歆久

可以將數(shù)據(jù)存在localStorage或者sessionStorage, 然后判斷如果緩存有數(shù)據(jù)的話直接取緩存的數(shù)據(jù),否則去請(qǐng)求數(shù)據(jù)

if(localStorage.cacheData){
    this.data = localStorage.cacheData
}else {
    fetchData().then(res => {
        ...請(qǐng)求數(shù)據(jù)
    })
}
2017年11月29日 22:49
編輯回答
哚蕾咪

簡(jiǎn)單點(diǎn)可以用cookie,當(dāng)前最兼容的模式,不過容量有點(diǎn)少
如果可能還是在localStorage或者sessionStorage更好
如果開發(fā)app,則可以自己寫本地文件、數(shù)據(jù)庫(kù)等。

2017年4月25日 05:21
編輯回答
不將就

要兼容ie8那就放到cookie中吧。
localstorage不知道兼容ie8不,自己查一下。
IE9及其以上是兼容的。

2017年8月27日 10:54