使用ajax解决ie缓存问题

1、在XMLHttpRequest/发送的请求之前 加上

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

XMLHttpRequest.send(null);

2、在请求的url后面加上随机数或者随机时间

url=url+"?fresh="+Math.random();

or

url=url+"?timestamp="+new Date().getTime();

时间: 2024-10-28 15:23:03

使用ajax解决ie缓存问题的相关文章

如何解决因为缓存无法及时更新图片问题

如何解决因为缓存无法及时更新图片问题:在加载远程图片的时候,往往会由于缓存的原因,即使是在服务器更新了图片有时候也得不到及时的更新.可以使用如下方法解决此问题,代码如下: $(".myImg").src("yourUrl.action?randUrl"+Math.ceil(new Date()/3600000); 实现的原理很简单,就是让每次加载的图片的src属性不同就可以做到了,这个时候可能很多人认为每次图片的src属性不同的话,图片不久乱了吗,其实不然,看一个例

解决iframe缓存机制导致页面不清除缓存不刷新页面的bug

在使用iframe时,已有页面嵌套了一个iframe页面,当这个页面提交后再次跳转到本页面时,原本iframe内的页面应该刷新数据的,结果未刷新,需要清除缓存后才刷新. 解决方案: var fresh_link=new Date().getTime();//获取当前时间戳,因为该时间戳唯一,将其加到跳转的iframe嵌套页面那,以防止iframe子页面访问过后遗留的缓存 window.open("link.html?+'fresh_link'", "_self");

Ajax解决缓存的5种方法

原文:http://www.ido321.com/129.html 1.在ajax发送请求前加上 anyAjaxObj.setRequestHeader(“If-Modified-Since”,”0″). 2.在ajax发送请求前加上 anyAjaxObj.setRequestHeader(“Cache-Control”,”no-cache”). 3.在URL后面加上一个随机数: “fresh=” + Math.random();. 4.在URL后面加上时间搓:”nowtime=” + new

Ajax 解决浏览器的缓存问题

ajax能提高页面载入的速度主要的原因是通过ajax减少了重复数据的载入,也就是说在载入数据的同时将数据缓存到内存中,一旦数据被加载其中,只要我们没有刷新页面,这些数据就会一直被缓存在内存中,当我们提交 的URL与历史的URL一致时,就不需要提交给服务器,也就是不需要从服务器上面去获取数据. 虽然这样降低了服务器的负载提高了用户的体验,但是我们不能获取最新的数据.为了保证我们读取的信息都是最新的,我们就需要禁止他的缓存功能. 解决方案有如下几种: 1.在ajax发送请求前加上 anyAjaxOb

《JavaScript权威指南》学习笔记之二十---XMLHttpRequest和AJAX解决方式

一.AJAX概述 AJAX是Asynchronous JavaScript and XML的缩写.中文译作异步JavaScript和XML.AJAX 不是新的编程语言,而是一种使用现有标准的新方法.在不又一次载入页面的情况下,与server交换数据并更新部分网页的艺术. 其核心是:client的Javascript可以与webserver进行异步数据交换. 二.AJAX基础---XMLHttpRequest对象 全部现代浏览器(IE7+.Firefox.Chrome.Safari 以及 Oper

Ajax请求被缓存的几种处理方式

我们都知道IE会针对ajax请求的地址缓存请求结果,直到缓存过期之前,针对相同地址发出的请求,只有第一次会请求会真正发送到服务端.在某种情况下,这种缓存机制确实能提高web的响应速度,但是有时候并不是我们需要的,有时候我们需要获取即时信息,那么有哪几种方式来解决这个问题呢,下面列举了几种解决方案! 1.  通过URL添加后缀的方式 这种方式是我们大家都会使用的技巧,大多人都知道 例如: 本来请求的地址是: /home/action? 加查询参数后缀后:/home/action?ran=Match

Maven构造版本号的方法解决浏览器缓存问题

需要解决的问题 在做WEB系统开发时,为了提高性能会利用浏览器的缓存功能,其实即使不显式的申明缓存,现代的浏览器都会对静态文件(js.css.图片之类)缓存.但也正因为这个问题导致一个问题,就是资源的缓存逻辑有时出现问题后服务器的最新版本文件无法更新客户端的缓存. 这个问题会给用户产生许多的困扰,当然首先是测试人员会很头痛,一些看起来没有修复的bug为什么开发要说做好了?这种时候我会无奈的说:ctrl+f5刷新一下.但这毕竟不是解决问题的方法. 思路与方法考虑 思路 之前没有着手处理过这样的问题

解决UE4缓存使C盘膨胀的问题

使用UE4的时候会发现C盘越来越小了,那是因为UE4引擎的缓存文件默认保存在C盘的缘故. 概述 一.出现的问题:UE4的缓存文件会导致C盘膨胀. 二.解决的方式:请严格按照下列步骤来执行.1. 更改UE4的缓存路径.2. 删除UE4在C盘的缓存.3. 删除各个引擎版本SwarmAgent(联机构建)的缓存文件. 执行 一. 更改UE4的缓存路径:这一步是为了将UE4的缓存路径从C盘转换到你项目当前的文件下.这样做是为了: 1. 增加C盘空间.2. 便于之后的项目管理,比如:一个去年已经完工了的项

如何解决DNS缓存时间问题

理想情况下,各地DNS的缓存时间即为设置的ttl时间,所以可以通过设置ttl时间来控制DNS缓存的时间.ttl时间设置的短,DNS缓存过期快,在机器故障的时候很快切换,对用户的影响小:但是由于ttl设置的太短,缓存很快过期,要经常一层层的问域名的解析情况,DNS解析时间会比较长.以上是理想情况,真实情况下,个别的DNS服务器并不遵从ttl时间,可能有做强制缓存多少时间,我们都没办法控制. 只能使用尽量短的TTL, 毕竟DNS并不是天生为GSLB设计的.1. LocalDNS和用户可能网络距离很远