IE针对Ajax请求结果的缓存

在默认情况下,IE会针对请求地址缓存Ajax请求的结果。换句话说,在缓存过期之前,针对相同地址发起的多个Ajax请求,只有第一次会真正发送到服务端。在某些情况下,这种默认的缓存机制并不是我们希望的(比如获取实时数据)

问题:

例如用ajax获取当前时间

采用不同的浏览器运行该程序会得到不同的输出结果,Chrome浏览器中能够显示出实时时间,但是在IE中显示的时间都是相同的。

<script type="text/javascript"> 
            $(function () {  
                window.setInterval(function () {  
                   $.ajax({  
                       url:'getCurrenttime.php?ctime='+(new Date()).valueOf(),  
                       success: function (result) {  
                          $("ul").append("<li>" + result + "</li>");  
                       }  
                   });  
               }, 5000);  
           });  
  </script> 


解决办法:

 1. 为URL地址添加后缀

<script type="text/javascript"> 
            $(function () {  
                window.setInterval(function () {  
                   $.ajax({  
                       url:'getCurrenttime.php
?_dc='+(new Date()).valueOf(),  
                       success: function (result) {  
                          $("ul").append("<li>" + result + "</li>");  
                       }  
                   });  
               }, 5000);  
           });  
  </script> 

    2.

<script type="text/javascript"> 
            $(function () {  
                window.setInterval(function () {  
                   $.ajax({  
                       url:'getCurrenttime.php',
 

cache:false,
                       success: function (result) {  
                          $("ul").append("<li>" + result + "</li>");  
                       }  
                   });  
               }, 5000);  
           });  

  </script>
   增加参数 cache:false 本质还是为请求的url添加后缀

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值