Ajax解决浏览器缓存问题?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Ajax解决浏览器缓存问题?相关的知识,希望对你有一定的参考价值。

参考技术A 1)在ajax发送请求前加上 anyAjaxObj.setRequestHeader("If-Modified-Since","0")。

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

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

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

5)如果是使用jQuery,直接这样就可以了$.ajaxSetup(cache:false)。这样页面的所有ajax都会执行这条语句就是不需要保存缓存记录。

IE浏览器下AJAX缓存问题导致数据不更新的解决办法

一直知道使用ajax的时候,有的时候会出现数据缓存的问题,当时也没有深究,就是所有的简单粗暴的全部加上cache:false,或者使用在url处加上随机时间函数

今天无意间看见了为什么会出现缓存的原因记录下

注:通过AJAX请求后台时,当参数相同,IE浏览器会从缓存中取值而非从重新请求服务器。其他使用非IE内核的浏览器并无此问题。

在IE下用Ajax请求某一页面,通常会因为缓存的原因而返回上一次的结果,造成混乱,

即get方式时,获取数据,因发送参数和地址都一致,故IE浏览器会从缓存中取,而不会去请求服务器端,
而post方式因为参数的不同,不会产生这个问题]而FF下不会出现这种情况。

注:其他的浏览器即使不做任何的处理,也不管哪种请求方式,都不会出现ajax的缓存问题。

  ie下只有get方式会出现这个问题,post方式不会出现这种情况


以上是关于Ajax解决浏览器缓存问题?的主要内容,如果未能解决你的问题,请参考以下文章

IE浏览器下AJAX缓存问题导致数据不更新的解决办法

Ajax 解决浏览器的缓存问题

Ajax---IE缓存问题解决

IE浏览器下AJAX缓存问题导致数据不更新的解决办法

IE浏览器下ajax缓存导致数据不更新的解决方法

ajax访问json文件缓存问题