jquery使用ajax被IE缓存问题

本文介绍了解决jQuery AJAX请求在IE浏览器中遇到跨域缓存问题的三种方法,包括改变请求类型为POST并设置参数,设置GET请求的cache属性为false,以及全局设置get请求不使用缓存。

简单的测试代码,使用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
});

转载于:https://www.cnblogs.com/xmphoenix/archive/2012/01/04/2312429.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值