当前位置: 首页 > 图文教程 > 网络编程 > Javascript > AJAX初学:IE缓存页面的问题

Javascript
javascript if 的简化代码
javascript下with 的简化代码写法
javascript简化代码 A=alert w=document.writeln
js 调整select 位置的函数
JS应用之禁止抓屏、复制、打印
js加解密 脚本解密
js+vml创建3D页面效果代码
javascript简写效果“神秘的眼睛”
js实现的定时关闭页面或定时提醒效果代码
js 字数统计,区分英汉
js双色时间效果代码
js计算时间过去的时间
一个javascript参数的小问题
textarea支持图形编辑的实现方法
JavaScript面向对象编程
动态生成的IFRAME,设置SRC时的,不同位置带来的影响
JObj预览一个JS的框架
去除有数组中重复的元素
用JObj实现的渐变效果
给自定义对象加上自定义事件的支持的教程

Javascript 中的 AJAX初学:IE缓存页面的问题


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-28   浏览: 265 ::
收藏到网摘: n/a

  做一个项目用到Ajax,开始觉得挺好,后来发现一个问题,例如删除一项,恢复之后就不能再接着删除,必须要等一段时间,后来知道是IE缓存的问题。

  AJAX缓存页面是一个刚接触AJAX的人一定会遇到的问题,造成这个问题的关键性人物又是IE...

  在网上找了好多资料后,总结一下

  1:在AJAX请求的页面后加个随机函数,我们可以使用随机时间函数

  在javascript发送的URL后加上t=Math.random() ,当然,不是直接把t=Math.random()拷贝到URL后面,应该像这样:URL+"&"+"t="+Math.random();

  2:在XMLHttpRequest发送请求之前加上XMLHttpRequest.setRequestHeader("If-Modified-Since","0")

  一般情况下,这里的XMLHttpRequest不会直接使用,你应该可以找到这样的代码

XXXXX.send(YYYYYY);

  那么,就把它变成

XXXXX.setRequestHeader("If-Modified-Since","0");
XXXXX.send(YYYYYY);

  第二种方法感觉挺好。