佳木斯湛栽影视文化发展公司

主頁 > 知識(shí)庫 > ajax的 IE cache 相關(guān)問題解決

ajax的 IE cache 相關(guān)問題解決

熱門標(biāo)簽:阿里云 電子圍欄 團(tuán)購網(wǎng)站 Linux服務(wù)器 銀行業(yè)務(wù) Mysql連接數(shù)設(shè)置 服務(wù)器配置 科大訊飛語音識(shí)別系統(tǒng)
運(yùn)用Ajax做了一個(gè)名字檢驗(yàn),第一次是有效的,但是提交過后,再檢驗(yàn)一次,結(jié)果就不對(duì)了,是由于IE的cache的原因。
復(fù)制代碼 代碼如下:

function verify() {
$.ajax({
//issue for IE cache; timestamp=" + new Date().getTime()
url:"checkGroupName?timestamp=" + new Date().getTime(),
async: true,
data:"groupName=" + $("#cn").val()+"groupTypeForDetail="+$("#groupType").val()+"prefix="+$("#p").val(),
dataType:"html",
success:function(data){
if(data==1){
$("#result").html("font color='green'>Group name["+$("#p").val()+ $("#cn").val()+"]Valid/font>");
$("#email").val($("#p").val()+ $("#cn").val()+$("#emailHidden").val());
$('#subData').removeAttr("disabled");
}else if(data==2){
$("#result").html("font color='red'>Group name["+$("#p").val()+ $("#cn").val()+ "]already existed./font>");
$('#subData').attr('disabled',"true");
}else{
$("#result").html("font color='red'>Group name can not be empty./font>");
$('#subData').attr('disabled',"true");
}
}
});
}

原理
Firefox 每次 request 都會(huì)重新再回一次 server 取得最新的數(shù)據(jù),但是 IE 就不一樣了,它會(huì) cache 住之前得到的數(shù)據(jù),只有第一次 request 時(shí)會(huì)真正的去 server 讀取數(shù)據(jù),導(dǎo)致ajax數(shù)據(jù)不會(huì)隨時(shí)間而更新….
解決方案(從網(wǎng)上收集的)
  1、在服務(wù)端加 header("Cache-Control: no-cache, must-revalidate"); 或者用下面的組合更好一些:
復(fù)制代碼 代碼如下:

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發(fā)送請(qǐng)求前加上 xmlHttpRequest.setRequestHeader("If-Modified-Since","0");
  3、在ajax發(fā)送請(qǐng)求前加上 xmlHttpRequest.setRequestHeader("Cache-Control","no-cache");
  4、在 Ajax 的 URL 參數(shù)后加上 "?fresh=" + Math.random(); //當(dāng)然這里參數(shù) fresh 可以任意取了
  5、第四種方法和第三種類似,在 URL 參數(shù)后加上 "?timestamp=" + new Date().getTime(); //推薦使用這種方式,我用的就是這種,個(gè)人認(rèn)為比較方便。
  6、用POST替代GET:不推薦
您可能感興趣的文章:
  • 發(fā)布三個(gè)ajax相關(guān)的函數(shù),包括無刷新提交表單等
  • IIS里的AJAX相關(guān)的設(shè)置
  • jquery $.ajax相關(guān)用法分享
  • ajax上傳時(shí)參數(shù)提交不更新等相關(guān)問題
  • js jquery ajax的幾種用法總結(jié)(及優(yōu)缺點(diǎn)介紹)
  • 淺談Ajax相關(guān)及其優(yōu)缺點(diǎn)

標(biāo)簽:衡水 棗莊 蚌埠 萍鄉(xiāng) 江蘇 衢州 大理 廣元

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《ajax的 IE cache 相關(guān)問題解決》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    玛纳斯县| 德令哈市| 洪洞县| 资兴市| 渭源县| 三明市| 阿城市| 永康市| 郧西县| 灵山县| 宜兰县| 紫阳县| 收藏| 平利县| 商南县| 靖江市| 琼中| 东海县| 芜湖县| 桃园市| 醴陵市| 洞口县| 天峻县| 娄底市| 胶州市| 宜阳县| 茶陵县| 全椒县| 武安市| 苗栗市| 普陀区| 蓬安县| 盈江县| 平定县| 新沂市| 安达市| 凤翔县| 杭锦旗| 卓尼县| 建宁县| 崇义县|