ajax引起浏览器缓存咋办

Ajax能提高页面载入速度的主要原因是通过Ajax减少了重复数据的载入,也即在载入数据的同时将数据缓存到内存中,一旦数据被加载,只要没有刷新页面,这些数据就会一直被缓存在内存中,当提交的URL与历史的URL一致时,就不需要提交给服务器,也即不需要从服务器获取数据,虽然降低了服务器的负载,提高了用户体验,但不能获取最新的数据。为了保证读取的信息都是最新的,需要禁止其缓存功能。

解决方案有如下几种:

① 在Ajax发送请求前加上anyAjaxObj.setRequestHeader("If-Modified-Since", "0")。

② 在Ajax发送请求前加上anyAjaxObj.setRequestHeader("Cache-Control", "no-cache")。

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

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

⑤ 如果是使用jQuery,则用$.ajaxSetup({cache:false})。这样页面的所有Ajax都会执行该语句而不需要保存缓存记录。
 

猜你喜欢

转载自blog.csdn.net/weixin_42546729/article/details/87456765