ajax解决缓存问题

在做一个AJAX处理,由于发送的ajax不只一个,一连发送好几个请求

在网速慢的时候,导致返回的数据重复

在网上找到一篇文章
做了一个聊天室,用setTimeout+AJAX来读取数据,当网速慢时同一句话会重复多次,网速好的时候就不会,这是为什么呢

最佳答案
Ajax是会有这中问题,因为你的请求链接没有变,所以他不会每次都请求,而是使用缓存中的数据,最有可能是第一次请求的结果。 解决把法: 为请求链接设计变化的参数 var url = "request.php?date="+new Date(); 网速慢时数据更新慢,你的Ajax传的数据是重复的。我认为通过上面的设置变参的方式可以解决。
 
 实质上一连发送好几个请求跟setTimeout+AJAX都有一个问题,一连串的发送数据
但是服务端并不是按这个顺序把数据处理完的 方法2: 请求的URL后面加上个随机数Math.random 缓存的问题 或者 xmlHTTP.setRequestHeader("If-Modified-Since","0");   这样是正规的做法 再copy一篇文章 做一个项目用到Ajax,开始觉得挺好,后来发现一个问题,例如删除一项,恢复之后就不能再接着删除, 必须要等一段时间,后来知道是IE缓存的问题 AJAX缓存页面是一个刚接触AJAX的人一定会遇到的问题,造成这个问题的关键性人物又是Ie...     终于让我找到了一个好办法,那就在ajax发送请求前加上
Javascript代码
  1. xmlHTTP.setRequestHeader("If-Modified-Since","0");  
xmlHTTP.setRequestHeader("If-Modified-Since","0");
也就是类似于这样:
Javascript代码
  1. xmlHTTP.open("get", URL, true);  
  2. xmlHTTP.onreadystatechange callHTML;  
  3. xmlHTTP.setRequestHeader("If-Modified-Since","0");  
  4. xmlHTTP.send();  
xmlHTTP.open("get", URL, true); xmlHTTP.onreadystatechange = callHTML; xmlHTTP.setRequestHeader("If-Modified-Since","0"); xmlHTTP.send();
怎么样,很简单吧!!之前找的什么在URL家一个随即数什么的,我用了下,不是很好用。
现在就把使用的具体代码贴下来吧!!
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值