Ajax与IE6缓存问题及解决方法

介绍

本篇文章给大家分享的是有关Ajax与IE6缓存问题及解决方法,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

向大家简单介绍一下Ajax与IE6缓存问题,用Ajax请求时,如果出现重复的URL,浏览器不会向服务器发送请求,而是根据之前相同的网址请求结果返回。

<强> Ajax与IE6缓存问题

今天,有同事发现相关业务数据修改后,在IE6下还是显示修改前的值,但在其他浏览器和IE7, IE8下,没有这个问题。

原因:用Ajax请求时,如果出现重复的URL,浏览器不会向服务器发送请求,而是根据之前相同的网址请求结果返回。原因就在于之前的请求及结果已经保存在了缓存里,如果遇到相同的URL时,结果是直接从缓存里取得。

<强>解决办法:

1,设置IE6中工具互联网选项互联网临时文件,设置-检查每次网页的较新版本——设置为每次访问此页时检查。

2,在IE发送Ajax数据时,发送一个随机时间戳。即只要让每次请求的URL不一样就可以了,比如每次请求时在URL中加上时间的毫秒数或随机数(新日期().getTime()或者math . random ()) .

◆另外,网上还有很多其他的解决方法:

1。送请求前加上,

 XMLHttpRequest.setRequestHeader (“If-Modified-Since",“0”) 

或者用发布方法提交

2。服务器端禁用缓存(只是禁止了服务端缓存,不能禁止ajax缓存)只

 response.setHeader (“Pragma",“No-cache");,,, response.setHeader (“Cache-Control",“No-cache");,,, response.setDateHeader (“Expires",, 0), 

以上就是ajax与IE6缓存问题及解决方法,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注行业资讯频道。

Ajax与IE6缓存问题及解决方法