IE下的AJAX缓存问题

      前天帮一个学弟看一个问题:在后台方法设置断点,不清空IE缓存的时候,无法走到断点处,于是得出结论是IE缓存的问题.于是提出了通过IE的自动清除缓存功能可以解决这个问题的结论,在这么做了之后问题依然没有得到解决,当时一怒之下让学弟改用谷歌浏览器,果然问题就消失了!然后,然后就是痛骂IE。

       冷静之后想想,我们之前也用IE开发,但是并没有遇到这种问题,在仔细思考一番之后发现,事情可能没有那么简单。因为在AJAX请求里面并没有设置CACHE参数。碰巧今天看到一篇介绍AJAX缓存的问题。转载如下:

        在IE8 9下,进行Ajax请求时,若与之前请求相同,则不会再从服务器获取数据,而是直接从本地获取。这样,在使用$.ajax时可以将其cache属性设置为false.
       cache:
      要求为Boolean类型的参数,默认为true(当dataType为script时,默认为false),设置为false将不会从浏览器缓存中加载请求信息。

1.全局设置      

//$.ajaxSetup() 方法设置全局 AJAX 默认选项。
$.ajaxSetup({ cache: false });
缓存并非是为了给我们带来麻烦而设置的,毕竟别的浏览器可以正常使用。所以,要为IE8 9单独设置禁用缓存中的信息。

//jquery 1.9.0后取消了$.browser
if($.browser.msie&&($.browser.version=="8.0"||$.browser.version=="9.0")){
  //做处理        
}

在1.9.0之后可以使用$.support来判断

//IE事件拷贝
if(!$.support.noCloneEvent&&!$.support.noCloneChecked){
   //做处理 
}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值