解讀Ajax清理緩存_Xml教程
推薦:如何用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教程-解讀Ajax清理緩存
。