国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > AJAX > 正文

ajax的 IE cache 相關問題解決

2024-09-01 08:31:23
字體:
來源:轉載
供稿:網友
運用Ajax做了一個名字檢驗,第一次是有效的,但是提交過后,再檢驗一次,結果就不對了,是由于IE的cache的原因,接下來介紹下詳細的解決方法,感性的朋友可以參考下哈

運用Ajax做了一個名字檢驗,第一次是有效的,但是提交過后,再檢驗一次,結果就不對了,是由于IE的cache的原因。

復制代碼 代碼如下:


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 都會重新再回一次 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發送請求前加上 xmlHttpRequest.setRequestHeader("Cache-Control","no-cache");
  4、在 Ajax 的 URL 參數后加上 "?fresh=" + Math.random(); //當然這里參數 fresh 可以任意取了
  5、第四種方法和第三種類似,在 URL 參數后加上 "?timestamp=" + new Date().getTime(); //推薦使用這種方式,我用的就是這種,個人認為比較方便。
  6、用POST替代GET:不推薦
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 沅陵县| 弥渡县| 普定县| 东阿县| 洱源县| 大洼县| 赣榆县| 石家庄市| 大兴区| 荣成市| 湟中县| 湖北省| 崇信县| 会理县| 中西区| 获嘉县| 南城县| 福鼎市| 新密市| 汶上县| 宁武县| 岳阳市| 辽宁省| 河西区| 五大连池市| 行唐县| 竹溪县| 平凉市| 云林县| 永泰县| 封丘县| 鄱阳县| 民乐县| 且末县| 渭源县| 景洪市| 岢岚县| 抚顺市| 吉安县| 息烽县| 乌鲁木齐市|