Ajax的浏览器缓存问题及解决方法

Ajax的浏览器缓存问题

  1. 当通过Ajax请求页面后,只要用户不主动刷新页面,数据就不会更新
  2. 当请求的URL与历史URL相同时,会直接使用缓存中的数据
  3. 这样就无法在不刷新的情况下读取最新的数据

解决方式:

  1. 在创建发送请求前加上,anyAjaxObj.setRequestHeader('If-Modified-Since', '0')  // 设置发送请求后,会将浏览器数据最后更新时间与服务端数据最后更新时间对比
  2. 在创建发送请求前加上,anyAjaxObj.setRequestHeader('Cache-Control', 'no-cache')  // 设置自动对比缓存更新情况
  3. 在URL后加上随机数 : 'fresh=' + Math.random()
  4. 在URL后加上时间戳:"nowtime=" + Date.now()
  5. 如果是通过jQuery,直接设置$.ajax({cache : false})
posted @ 2020-04-14 09:24  ashen1999  阅读(155)  评论(0编辑  收藏  举报