`
maxiow
  • 浏览: 13263 次
文章分类
社区版块
存档分类
最新评论

Ajax与IE6缓存问题解决方案

 
阅读更多

(转载自http://wgllz.iteye.com/blog/1341445   -wgllz)

在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") 
或者用post方法提交 
2.服务器端禁用缓存(只是禁止了服务端缓存,不能禁止ajax缓存) 

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

 
以上说的都对,但有一个更简单的办法,就是ajax请求时,设缓存为false

 

$.ajax({

url: 'tStrategyBase.do?method=checkStrategyStates&id='+id,

cache:false,

dataType: 'html',

success: function(data){

 ...

}

})

 

cache:是否缓存,其实就是在URL加随机数

分享到:
评论

相关推荐

    AJAX 缓存问题的两种解决方法(IE)

    ### AJAX 缓存问题的两种解决方法(IE) 在探讨如何解决AJEX缓存问题之前,我们先简要了解一下AJAX的基本概念及其工作原理。AJAX(Asynchronous JavaScript and XML)是一种网页开发技术,用于创建交互式的网页应用...

    ajax调用中ie缓存问题解决方法

    本文主要探讨了在Ajax调用中遇到的IE浏览器缓存问题及其解决方案。 Ajax请求通常用于向服务器获取数据,更新网页部分区域,而不刷新整个页面。然而,在Internet Explorer(IE)浏览器中,如果XMLHttpRequest请求的...

    ajax清除IE缓存技术文档

    **Ajax清除IE缓存技术文档** Ajax(Asynchronous JavaScript and XML)是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。它通过在后台与服务器进行少量数据交换,使网页实现异步更新,大大提升了...

    IE下Ajax缓存问题的快速解决方法(get方式)

    【IE下Ajax缓存问题的快速解决方法(get方式)】 在开发Web应用时,尤其是在使用Ajax技术时,可能会遇到浏览器缓存导致的问题。对于IE浏览器,由于其对GET请求的特殊处理,有时会缓存Ajax请求,从而影响到数据的实时...

    如何 不使用ajax缓存

    #### 解决方案二:设置请求头来控制缓存 另一种解决方法是通过设置HTTP请求头来控制缓存行为。例如,可以使用`If-Modified-Since`请求头来告诉服务器只有当资源被修改后才返回内容,否则返回304状态码,表示未修改...

    如何解决Ajax请求结果的缓存问题说明

    在某些情况下,这种默认的缓存机制并不是我们希望的(比如获取实时数据),这篇文章就来简单地讨论这个问题,以及介绍几种解决方案。目录 一、问题重现 二、通过为URL地址添加后缀的方式解决问题 三、通过JQuery的...

    IE9下Ajax无法刷新数据的缓存问题解决方法

    在实际应用中,也可以采取其他方法来解决IE9的缓存问题,比如在Ajax请求的配置参数中设置缓存为false,或者通过其他HTTP头部信息控制缓存行为等。例如,可以使用jQuery的ajaxSetup方法来全局地设置Ajax请求不使用...

    浅析IE针对Ajax请求结果的缓存问题

    在本文中,我们将深入探讨IE浏览器对于Ajax请求结果的缓存问题,特别是在ASP.NET MVC应用...这些方法可以帮助开发者在处理IE浏览器的Ajax缓存问题时找到合适的解决方案,确保应用程序能够正确、实时地获取和展示数据。

    js、css、img等浏览器缓存问题的2种解决方案.docx

    浏览器缓存问题的2种解决方案 在 Web 开发中,浏览器缓存是非常重要的一部分,它可以提高网站的加载速度和执行效率,但同时也带来了许多问题,例如当服务端修改了 js、css 等文件时,客户端无法更新,这就需要我们...

    IE9 IE8 ajax跨域问题的快速解决方法

    首先,通常的解决方法是在发起Ajax请求前设置jQuery.support.cors为true,这是因为从jQuery 1.5版本开始,jQuery引入了对CORS(跨源资源共享)的支持。CORS允许浏览器和服务器通过特定的HTTP头部协商跨域请求。然而...

    IE下jquery ajax无法获得最新数据的问题解决(IE缓存)

    综上所述,处理IE浏览器的AJAX缓存问题通常需要开发者根据实际情况选择合适的方法。添加动态参数是最直接的解决方式,适用于大多数情况。而使用POST请求或设置`cache: false` 则更适用于整个请求过程不需要缓存的...

    ajax的 IE cache 相关问题解决

    Ajax技术是一种广泛应用于Web开发中的前端技术,它允许浏览器向服务器发送异步请求,从而在不重新加载...当遇到Ajax与IE浏览器的缓存问题时,开发者应该考虑到这些因素,并根据自己的项目需求,选择最合适的解决方案。

    IE8/IE9下Ajax缓存问题

    针对IE8/IE9的Ajax缓存问题,一个常见的解决方案是利用时间戳。通过在Ajax请求的URL后面添加一个时间戳参数(如"?t="+(new Date).valueOf()),可以保证每次请求的URL都是唯一的,从而避免浏览器使用缓存。由于IE...

    AngularJS在IE下取数据总是缓存问题的解决方法

    开发者只需在AngularJS应用的配置部分添加几行代码,就可以有效解决IE浏览器中的数据缓存问题,确保用户体验的流畅性和数据的实时性。这种设置方法是解决浏览器缓存问题的一种快速有效的方式,特别适合于开发阶段,...

Global site tag (gtag.js) - Google Analytics