1、在ajax发送请求前加上anyAjaxObj.setRequestHeader("If-Modified-Since","0");
2、在ajax发送请求前加上anyAjaxObj.setRequestHeader("Cache-Control","no-cache");
3、在 Ajax 的 URL 参数后加上"?fresh=" + Math.random();
4、第五种方法和第四种类似,在 URL 参数后加上 "?timestamp=" + new Date().getTime();
5、如果是使用jQuery,直接这样就可以了$.ajaxSetup({cache:false})。这样页面的所有ajax都会执行这条语句就是不需要保存缓存记录。
6、用POST替代GET
以下主要描述如何解决Jquery ajax的缓存问题。
在使用jquery进行ajax操作时,如果Get请求的参数不变化,而且IE浏览器设置缓存不是每次访问网页时(IE工具->internet选项->浏览历史记录下的设置->检查所存网页的较新版本),则可能会出现程序不经过后台,直接从浏览器缓存里读数据的情况。
可以有三种解决方法:
1、在请求的参数后面加上时间,如:
这样由于每次请求的参数有所不同,程序不会从浏览器里面读取缓存。
2、
在ajax请求时候加上cache:false的参数,如:
copy