首页 > 代码库 > ie8下ajax缓存严重问题

ie8下ajax缓存严重问题

在使用jquery ajax异步调用数据,第一次可以正常返回值,后面就一直不会执行后台,总是返回第一次访问的结果,即使使用ctrl+F5,都不能得到最新的数据。
测试后发现,是ie8缓存了第一次获取的结果。
造成这个问题的原因是因为IE8会默认缓存这时的Get方式获取的数据,所以第二次不会提交到后台
而解决的方法也很简单,可以在每个request中设置cache:false。或者在全局中设置$.ajaxSetup({ cache: false })。
浏览器缓存还是有一些好处的,比如: 减少了冗余的数据传输,节省了网费;减少了服务器的负担, 大大提高了网站的性能;加快了客户端加载网页的速度等等。
所以只需要针对ie8设置就可以了。我是这样实现的:
if($.browser.msie && $.browser.version === ‘8.0‘){
  $.ajaxSetup({ cache: false });
}
 
 

 

ie8下ajax缓存严重问题