解讀Ajax清理緩存_Xml教程

      編輯Tag賺U幣
      教程Tag:暫無Tag,歡迎添加,賺取U幣!

      推薦:如何用XMLHTTP對象抓取網(wǎng)頁源代碼,拆分?jǐn)?shù)據(jù)寫入數(shù)據(jù)庫
      !--#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=

        今天做一個(gè)密碼初始化的功能,不想初始化了在返回原來頁面,于是就用ajax實(shí)現(xiàn),初始化頁面包括一個(gè)生成隨機(jī)密碼的函數(shù),當(dāng)點(diǎn)擊“初始化密碼”的時(shí)候,可以得到返回的密碼,但是當(dāng)點(diǎn)擊第二次,第三次,都是第一次返回的那個(gè)密碼。而且數(shù)據(jù)庫也不更新了。

        于是就到百度上搜索,結(jié)果找到是ajax和緩存的問題.

      我只用了2(或者3)解決了問題,其他的沒有試驗(yàn),如果大家碰到類似的問題可以試一試,網(wǎng)上推薦用2或者3解決,原因就是簡單吧。


        搜索到的解決辦法:

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

        2、在ajax發(fā)送請求前加上 xmlHttp.setRequestHeader("If-Modified-Since","0");

        3、在ajax發(fā)送請求前加上 xmlHttp.setRequestHeader("Cache-Control","no-cache");

        對于2和3也就是這樣實(shí)現(xiàn):
        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 參數(shù)后加上 "?fresh=" + Math.random(); //當(dāng)然這里參數(shù) fresh 可以任意取了

        5、第五種方法和第四種類似,在 URL 參數(shù)后加上 "?timestamp=" + new Date().getTime();

        6、用POST替代GET:不推薦
       

       

      分享:XSL心得之制作圖像超鏈接
      這是我今天學(xué)習(xí)的時(shí)候遇到的另一個(gè)問題,做圖像超鏈接要把鏈接地址放到a的href屬性中去,可是這就是在標(biāo)簽中套標(biāo)簽,是不可以的,查了《Web編程實(shí)做教程》,才知道正確的解決方案,現(xiàn)在與大家分享。 此段代碼運(yùn)行需要兩張圖片:a.gif和b.gif。 my.xml 以下內(nèi)

      來源:模板無憂//所屬分類:Xml教程/更新時(shí)間:2010-01-09
      相關(guān)Xml教程