简单的测试代码,使用jquery的ajax类加载一个文本文件。如果IE对文件进行了缓存,则后台修改了1.txt中的内容,前台仍然无法看到更新
<html xmlns="http://www.w3.org/1999/xhtml">
<SCRIPT language=javascript src="js/jquery.js"></SCRIPT>
<script language="JavaScript">
$(document).ready(function() {
$.ajax({
url: "1.txt",
type: 'GET',
dataType:'text',
success:function(data){
alert(data);
}
});
});
</script>
</html>
解决办法
方法一:把type改成post,并随便设置设置一个参数data: 'a=b'(一定要设置参数,否则仍然会被cache)
方法二:type仍然使用get,但设置cache: false
方法三:通过ajaxSetup来全局设置get方法下的cache
$.ajaxSetup ({
cache: false //close AJAX cache
});