IE下的AJAX缓存问题

来源:互联网 发布:螺纹轴编程 编辑:程序博客网 时间:2024/05/01 09:33

      前天帮一个学弟看一个问题:在后台方法设置断点,不清空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后取消了$.browserif($.browser.msie&&($.browser.version=="8.0"||$.browser.version=="9.0")){  //做处理        }

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

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

0 0
原创粉丝点击