develop's blog,about web&game&mobile&so on!

解决JQuery中load方法在ie里的缓存问题

<Category: rayYee> 查看评论

最近在研究JQuery,在做一个ajax效果时,遇到了ie中无法无刷新显示数据。

使用方法如下:
代码如下:
$(“#panel”).load(“test.asp”);
//在页面装载时,在ID 为#panel的DOM元素里test.asp的内容。

但是,当你修改test.asp文件的内容以后,在IE浏览器下,再利用以上方法 重新装载该文件时,你会发现ID为#panel的DOM元素的内容并未发生变化,问题究竟出现在什么地方呢?原来是重新加载以后,IE浏览器并没有从服务 器端重新下载修改以后的test.asp,而是直接从IE缓存中读取没有修改之前加载的那个test.asp文件,因此会出先#panel元素的内容没有 发生变化。
因此在使用以上方法之前需禁用该方法装载IE缓存中的文件,方法如下:
代码如下:
//在调用load方法之前利 用该方法禁止load方法调用IE缓存文件
$.ajaxSetup ({
cache: false
});

在$.ajax({})中也有设置cache为false的方法,但是我试了下不可以,可能是因为,程序先执行load的吧。

$.ajaxSetup是全局的,在load方法之前设置,就可以了。

本文来自: 解决JQuery中load方法在ie里的缓存问题

发表评论