jquery ajax禁用缓存解决ie数据不更新的问题

场景:选中某条数据打开弹框,同时发送ajax请求取数据,修改后关闭弹框。再选中同一条数据打开弹框IE直接取上次缓存的数据,取不到修改后的新值

IE下用Ajax请求某一路径,通常会因为缓存的原因而返回上一次的结果,造成混乱,get方式时,获取数据,因发送参数和地址都一致,故IE浏览器会从缓存中取,而不会去请求服务器端,而post方式因为参数的不同,不会产生这个问题火狐下不会出现这种情况。

解决办法:

方法一AJAX请求的页面后加个随机函数,可以使用随机时间函数做参数

javascript发送的URL后加上t=Math.random()

例如这样:URL+"&"+"t="+Math.random();或者new Date();

URL 参数后加上 "?timestamp=" + new Date().getTime();

方法二、$.ajaxSetup({cache:false})

这句话作用于左右ajax请求,写了这句话之后就不用改已经写完的多个请求了。

 

以上两种方法都可以。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值