加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

IE针对Ajax请求结果的缓存

发布时间:2020-12-15 21:05:28 所属栏目:百科 来源:网络整理
导读:在默认情况下,IE会针对请求地址缓存Ajax请求的结果。换句话说,在缓存过期之前,针对相同地址发起的多个Ajax请求,只有第一次会真正发送到服务端。在某些情况下,这种默认的缓存机制并不是我们希望的(比如获取实时数据) 问题: 例如用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添加后缀

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读