ajax的 IE cache 相關問題解決

2022-09-21 23:15:10 字數 882 閱讀 6616

運用ajax做了乙個名字檢驗,第一次是有效的,但是提交過後,再檢驗一次,結果就不對了,是由於ie的cache的原因。

複製** **如下:

function verify() else if(data==2)else

} }); }

原理:

firefox 每次 request 都會重新再回一次 server 取得最新的資料,但是 ie 就不一樣了,它會 cache 住之前得到的資料,只有第一次 request 時會真正的去 server 讀取資料,導致ajax資料不會隨時間而更新….

解決方案(從網上收集的):

1、在服務端加 header("cache-control: no-cache, must-revalidate"); 或者用下面的組合更好一些:

複製** **如下:

header("expires: sat, 1 jan 2005 00:00:00 gmt");

header("last-modified: ".gmdate( "d, d m y h:i:s")."gmt");

header("cache-control: no-cache, must-revalidate");

header("pragma: no-cache");

2、在ajax傳送請求前加上 xmlhttprequest.setrequestheader("if-modified-since","0");

3、在ajax傳送請求前加上 xmlhttpre程式設計客棧quest.setrequestheader("cache-control","no-cache");

4、在 ajax 的 url 引數後加上 "?fresh=" + math.random(); //當然這裡引數 fresh 可以任意取了

關於ajax的IE cache 問題分析及解決

最近做了乙個ajax相關的功能,大概目標根據使用者的不同登陸狀態來生成不同的歡迎語,如下 使用者登陸了,就顯示 您好呀,又來啦!使用者不登陸,則顯示 您還沒登陸!很簡單的應用,結果我寫完ajax後,發現乙個致命的問題 firefox中一切正常,但在ie第一次開啟沒問題,再重新整理一次,中文就會成為亂...

ajax的相關知識

第一種 xmlhttp.readystate的五種就緒狀況 0 請求未初始化 還沒有呼叫 open 1 請求已經建立,但是還沒有傳送 還沒有呼叫 send 2 請求已傳送,正在處理中 通常現在可以從響應中獲取內容頭 3 請求在處理中 通常響應中已有部分資料可用了,但是伺服器還沒有完成響應的生成。4 ...

ajax相關問題

ajax完成前後端互動,可以用原生ajax實現,也可以用jquery ajax實現。之前自己用ajax請求乙個html頁面,有個大佬說ajax主要實現的是請求json檔案。總之,也就是那樣寫的。原生 ajax 原生ajax主要分為 1.建立xhr物件 2.open 3.send 4.接收資料 在這裡...