ajax缓存导致的一个错误,使用时间戳完美解决

本文介绍了一个简单的解决方案来处理Internet Explorer浏览器因缓存导致Ajax请求返回旧数据的问题。通过在请求URL中添加时间戳参数,强制IE浏览器从服务器获取最新数据而非使用缓存。

      使用ajax读取数据已经很平常了,很久之前编写的一个软件,忽然就发现了问题。很奇怪,在火狐中没有错误,在IE中有错!!我知道是兼容性问题,但具体是什么问题还不是很清楚。

     功能很简单,就是保存数据,展示。问题是:保存后,再打开展示的页面,数据没有变?在IE中有问题,在火狐中是没问题。于是自己使用IE调试,才发现,IE读取数据返回的304,显然是从缓存中读取的,不是从服务端读取的数据。知道了原因就很简单了。添加时间戳,强制浏览器从服务端读取数据。

   原来的ajax Url:

  

 url: "../SurveyGetRecordData.aspx?RecordID=" + RecordID
添加时间戳:

  

 url: "../SurveyGetRecordData.aspx?date="+(new Date().getMilliseconds())+"&RecordID=" + RecordID,

       只修改了一处,就完成了。其他的完全不用处理,完美解决。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值