本文是关于Ajax和IE6缓存的问题和解决方案。边肖觉得很实用,所以分享给大家学习。希望你看完这篇文章能有所收获。话不多说,我们和边肖一起看看。
简要介绍ajax和IE6的缓存问题。使用Ajax请求时,如果有重复的URL,浏览器不会将请求发送到服务器,而是根据之前相同的URL请求结果返回。
Ajax与IE6缓存问题
今天有同事发现,相关业务数据修改后,修改前的值仍然显示在IE6下。但是在其他浏览器和IE7、IE8上,就没有这个问题了。
原因:使用ajax请求时,如果有重复的URL,浏览器不会将请求发送到服务器,而是根据之前相同的URL请求结果返回。原因是以前的请求和结果已经保存在缓存中。如果遇到相同的网址,结果将直接从缓存中获得。
解决办法:
1.在IE6中设置工具-互联网选项-互联网临时文件-设置-检查每个网页的更新版本-将其设置为每次访问此页面时检查。
2.当IE发送ajax数据时,发送一个随机时间戳。也就是说,只需使每个请求的URL不同,例如,添加毫秒的时间或随机数(新的Date()。getTime()或Math。Random())到每个请求的URL。
此外,在线上还有许多其他解决方案:
1.发送请求前添加
Xmlhttprequest。setrequest header(' if-modified-因为',' 0 ')或通过post方法提交。
2.禁用服务器端缓存(仅禁用服务器端缓存,不禁用ajax缓存)。
response.setHeader('Pragma ','无缓存');response.setHeader('缓存控制','无缓存');response . setdateheader(' Expires ',0);以上是Ajax和IE6的缓存问题和解决方案。边肖认为,一些知识点可能会在我们的日常工作中看到或使用。我希望你能通过这篇文章学到更多的知识。更多详情请关注行业资讯频道。
内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/117725.html