如何缓存页面已经请求过的数据?

codingfly
  • 511

需求:数据通过ajax加载成功后,如果用户刷新页面何如缓存已经请求完成的数据呢?而不是再次请求后端数据。兼容IE8及以上

回复
阅读 2.4k
3 个回答

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

可以将数据存在localStorage或者sessionStorage, 然后判断如果缓存有数据的话直接取缓存的数据,否则去请求数据

if(localStorage.cacheData){
    this.data = localStorage.cacheData
}else {
    fetchData().then(res => {
        ...请求数据
    })
}

简单点可以用cookie,当前最兼容的模式,不过容量有点少
如果可能还是在localStorage或者sessionStorage更好
如果开发app,则可以自己写本地文件、数据库等。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
你知道吗?

宣传栏