解读Ajax清理缓存_Xml教程

编辑Tag赚U币
教程Tag:暂无Tag,欢迎添加,赚取U币!

推荐:如何用XMLHTTP对象抓取网页源代码,拆分数据写入数据库
!--#include file=fget.asp-- !--#include file=conn.asp-- html head meta http-equiv=Content-Type content=text/html; charset=gb2312 titledwww.cn 信息采集/title /head body % Server.ScriptTimeOut=9999999 PageStart='抓取开始页 PageEnd=

  今天做一个密码初始化的功能,不想初始化了在返回原来页面,于是就用ajax实现,初始化页面包括一个生成随机密码的函数,当点击“初始化密码”的时候,可以得到返回的密码,但是当点击第二次,第三次,都是第一次返回的那个密码。而且数据库也不更新了。

  于是就到百度上搜索,结果找到是ajax和缓存的问题.

我只用了2(或者3)解决了问题,其他的没有试验,如果大家碰到类似的问题可以试一试,网上推荐用2或者3解决,原因就是简单吧。


  搜索到的解决办法:

  1、在服务端加 header("Cache-Control: no-cache, must-revalidate");

  2、在ajax发送请求前加上 xmlHttp.setRequestHeader("If-Modified-Since","0");

  3、在ajax发送请求前加上 xmlHttp.setRequestHeader("Cache-Control","no-cache");

  对于2和3也就是这样实现:
  function changepass(upass) {
  createXMLHttpRequest();
  var url = "cpass.asp?uid=" + upass ;
  xmlHttp.open("GET", url, true);
  xmlHttp.onreadystatechange = callback;
  xmlHttp.setRequestHeader("If-Modified-Since","0");//清楚ie缓存------>2
   //xmlHttp.setRequestHeader("Cache-Control","no-cache");//清楚ie缓存------->3
  xmlHttp.send(null);
  }

  4、在 Ajax 的 URL 参数后加上 "?fresh=" + Math.random(); //当然这里参数 fresh 可以任意取了

  5、第五种方法和第四种类似,在 URL 参数后加上 "?timestamp=" + new Date().getTime();

  6、用POST替代GET:不推荐
 

 

分享:XSL心得之制作图像超链接
这是我今天学习的时候遇到的另一个问题,做图像超链接要把链接地址放到a的href属性中去,可是这就是在标签中套标签,是不可以的,查了《Web编程实做教程》,才知道正确的解决方案,现在与大家分享。 此段代码运行需要两张图片:a.gif和b.gif。 my.xml 以下内

来源:模板无忧//所属分类:Xml教程/更新时间:2010-01-09
相关Xml教程