最近发现一问题:相关业务数据修改后,在IE6下还是显示修改前的值。但在其他浏览器和IE7、IE8下,没有这个问题,这里向大家描述一下解决方法。
本文向大家简单介绍一下Ajax与IE6缓存问题,用ajax请求时,如果出现重复的URL,浏览器不会向服务器发送请求,而是根据之前相同的URL请求结果返回。
Ajax与IE6缓存问题
今天,有同事发现相关业务数据修改后,在IE6下还是显示修改前的值。但在其他浏览器和IE7、IE8下,没有这个问题。
原因:用ajax请求时,如果出现重复的URL,浏览器不会向服务器发送请求,而是根据之前相同的URL请求结果返回。原因就在于之前的请求及结果已经保存在了 缓存里,如果遇到相同URL时,结果是直接从缓存里取得。
解决办法:
1、设置IE6中工具-internet选项-Internet临时文件-设置-检查每次网页的较新版本-设置为每次访问此页时检查。
2、在IE发送ajax数据时,发送一个随机时间戳。即只要让每次请求的URL不一样就可以了,比如每次请求时在URL中加上时间的毫秒数或随机数(new Date().getTime()或者Math.Random() )。
◆另外,网上还有很多其他的解决方法:
1.送请求前加上
- XMLHttpRequest.setRequestHeader("If-Modified-Since","0")
- $.ajax({cache: false...});
或者用post方法提交
2.服务器端禁用缓存(只是禁止了服务端缓存,不能禁止ajax缓存) .
- response.setHeader("Pragma","No-cache");
- response.setHeader("Cache-Control","no-cache");
- response.setDateHeader("Expires", 0);
分享到:
相关推荐
### AJAX 缓存问题的两种解决方法(IE) 在探讨如何解决AJEX缓存问题之前,我们先简要了解一下AJAX的基本概念及其工作原理。AJAX(Asynchronous JavaScript and XML)是一种网页开发技术,用于创建交互式的网页应用...
**Ajax清除IE缓存技术文档** Ajax(Asynchronous JavaScript and XML)是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。它通过在后台与服务器进行少量数据交换,使网页实现异步更新,大大提升了...
本文主要探讨了在Ajax调用中遇到的IE浏览器缓存问题及其解决方案。 Ajax请求通常用于向服务器获取数据,更新网页部分区域,而不刷新整个页面。然而,在Internet Explorer(IE)浏览器中,如果XMLHttpRequest请求的...
#### 解决方案二:设置请求头来控制缓存 另一种解决方法是通过设置HTTP请求头来控制缓存行为。例如,可以使用`If-Modified-Since`请求头来告诉服务器只有当资源被修改后才返回内容,否则返回304状态码,表示未修改...
【IE下Ajax缓存问题的快速解决方法(get方式)】 在开发Web应用时,尤其是在使用Ajax技术时,可能会遇到浏览器缓存导致的问题。对于IE浏览器,由于其对GET请求的特殊处理,有时会缓存Ajax请求,从而影响到数据的实时...
在某些情况下,这种默认的缓存机制并不是我们希望的(比如获取实时数据),这篇文章就来简单地讨论这个问题,以及介绍几种解决方案。目录 一、问题重现 二、通过为URL地址添加后缀的方式解决问题 三、通过JQuery的...
在实际应用中,也可以采取其他方法来解决IE9的缓存问题,比如在Ajax请求的配置参数中设置缓存为false,或者通过其他HTTP头部信息控制缓存行为等。例如,可以使用jQuery的ajaxSetup方法来全局地设置Ajax请求不使用...
在本文中,我们将深入探讨IE浏览器对于Ajax请求结果的缓存问题,特别是在ASP.NET MVC应用...这些方法可以帮助开发者在处理IE浏览器的Ajax缓存问题时找到合适的解决方案,确保应用程序能够正确、实时地获取和展示数据。
浏览器缓存问题的2种解决方案 在 Web 开发中,浏览器缓存是非常重要的一部分,它可以提高网站的加载速度和执行效率,但同时也带来了许多问题,例如当服务端修改了 js、css 等文件时,客户端无法更新,这就需要我们...
开发者只需在AngularJS应用的配置部分添加几行代码,就可以有效解决IE浏览器中的数据缓存问题,确保用户体验的流畅性和数据的实时性。这种设置方法是解决浏览器缓存问题的一种快速有效的方式,特别适合于开发阶段,...
综上所述,处理IE浏览器的AJAX缓存问题通常需要开发者根据实际情况选择合适的方法。添加动态参数是最直接的解决方式,适用于大多数情况。而使用POST请求或设置`cache: false` 则更适用于整个请求过程不需要缓存的...
首先,通常的解决方法是在发起Ajax请求前设置jQuery.support.cors为true,这是因为从jQuery 1.5版本开始,jQuery引入了对CORS(跨源资源共享)的支持。CORS允许浏览器和服务器通过特定的HTTP头部协商跨域请求。然而...
针对IE8/IE9的Ajax缓存问题,一个常见的解决方案是利用时间戳。通过在Ajax请求的URL后面添加一个时间戳参数(如"?t="+(new Date).valueOf()),可以保证每次请求的URL都是唯一的,从而避免浏览器使用缓存。由于IE...
Ajax技术是一种广泛应用于Web开发中的前端技术,它允许浏览器向服务器发送异步请求,从而在不重新加载...当遇到Ajax与IE浏览器的缓存问题时,开发者应该考虑到这些因素,并根据自己的项目需求,选择最合适的解决方案。