首页 > Web开发 > 详细

ajax请求在ie8下缓存问题

时间:2016-01-21 23:45:19      阅读:265      评论:0      收藏:0      [点我收藏+]

我今天在改项目bug的时候,发现ajax请求在ie8下有缓存,在缓存过期之前,针对相同地址发起的多个Ajax请求,只有第一次会真正发送到服务端。在某些情况下,这种默认的缓存机制并不是我们希望的(比如获取实时数据)。

而FF和Chrome下不会出现这种情况。

 

为了不受缓存影响,解决方法:

一、改变IE访问策略

 

Internet选项--浏览历史记录--设置-- Internet 临时文件的选项改为每次访问网页时也可以

二、通过为URL地址添加后缀

 

在AJAX请求的页面后加个随机函数,例如我们可以使用随机时间函数。在javascript发送的URL后加上。

 

随机函数代码例:

 

function getRandomString() {

    var randomString = "?r=";

    for ( var i = 0; i < 20; i++) {

        randomString += Math.floor(Math.random() * 10);

    }

    return randomString;

}

如这样:

  URL+"&"+"t="+Math.random();//或者new Date();

  "?timestamp=" + new Date().getTime();

 

三、改变jQuery的Ajax设置

 

另外我们还可以这样设置,用jquery自带的:

$.ajaxSetup({

 

cache:false

 

})

ajax请求在ie8下缓存问题

原文:http://www.cnblogs.com/meggie523/p/5149516.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!