首页 > 试题广场 >

Ajax解决浏览器缓存问题

1.浏览器缓存的表现:

在项目中一般提交请求都会通过Ajax来实现,但是发现,每次提交后得到的数据都是一样的,但清除缓存后,就又可以得到一个新的数据。


2.浏览器缓存原因:

Ajax能提高页面载入的速度主要的原因:Ajax能实现局部刷新,通过局部刷新机制减少了重复数据的载入。当我们提交 的URL与历史的URL一致时,就不需要提交给服务器。但是,我们得到还是最开始缓存在浏览器中的数据。虽然降低了服务器的负载,提高了用户的体验,但是我们不能获取最新的数据。为了保证我们读取的信息都是最新的,就需要禁止他的缓存功能。


3.解决方法:


(1)故意让缓存过期

在ajax发送请求前加上

anyAjaxObj.setRequestHeader("If-Modified-Since","0")。


(2)直接禁用缓存机制

在ajax发送请求前加上

anyAjaxObj.setRequestHeader("Cache-Control","no-cache")。


(3)强行让每次的请求地址不同

在URL后加上一个随机数: "fresh=" + Math.random();

或在URL后加上时间搓:"nowtime=" + new Date().getTime();。


(4)如果是使用jQuery,使用不设置ajax缓存的方法$.ajaxSetup({cache:false})。


摘自:CSDN Tauruslog 有删减

编辑于 2021-03-04 09:00:21 回复(0)

解决缓存为了保证信息是最新的

发表于 2019-11-26 09:38:33 回复(0)

解决缓存是为了保证信息最新的


发表于 2019-10-11 10:31:27 回复(0)