ajax的 IE cache 相關(guān)問題解決_AJAX教程
推薦:jquery ajax提交表單從action傳值到j(luò)sp實(shí)現(xiàn)小結(jié)pw.print(random);這里的random就是action要向jsp傳的值,在jsp中,success: function(text)這里的text就是接收從action傳過來的值,感興趣的朋友可以參考下哈
運(yùn)用Ajax做了一個(gè)名字檢驗(yàn),第一次是有效的,但是提交過后,再檢驗(yàn)一次,結(jié)果就不對(duì)了,是由于IE的cache的原因。復(fù)制代碼 代碼如下:www.hl5o.cn
function verify() {
$.iew.php?aid=47771">ajax({
//issue for IE cache; timestamp=" + new Date().getTime()
url:"checkGroupName?timestamp=" + new Date().getTime(),
async: true,
data:"groupName=" + $("#cn").val()+"&groupTypeForDetail="+$("#groupType").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ù)制代碼 代碼如下:www.hl5o.cn
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:不推薦
分享:ajax struts2 下拉框賦值(適合所有)此代碼適合所有下拉列表取值;一個(gè)項(xiàng)目所有的下拉列表只需要這一個(gè)公用方法,接下來為大家詳細(xì)介紹下具體實(shí)現(xiàn)步驟,感興趣的朋友可以參考下,希望可以幫助到你
相關(guān)AJAX教程:
- Ajax中瀏覽器的緩存問題解決方法
- AJAX和WebService實(shí)現(xiàn)省市縣三級(jí)聯(lián)動(dòng)具體代碼
- ajax 登錄功能簡(jiǎn)單實(shí)現(xiàn)(未連接數(shù)據(jù)庫(kù))
- AJAX和WebService實(shí)現(xiàn)郵箱驗(yàn)證(無刷新驗(yàn)證郵件地址是否合法)
- AJAX和三層架構(gòu)實(shí)現(xiàn)分頁功能具體思路及代碼
- 使用AJAX返回WebService里的集合具體實(shí)現(xiàn)
- AJAX獲取服務(wù)器當(dāng)前時(shí)間及時(shí)間格式輸出處理
- ajax傳遞多個(gè)參數(shù)具體實(shí)現(xiàn)
- ajax傳遞一個(gè)參數(shù)具體實(shí)現(xiàn)
- 滑輪滾動(dòng)到頁面底部ajax加載數(shù)據(jù)配合jsonp實(shí)現(xiàn)探討
- jQery ajax——load()方法示例介紹
- jQuery+Ajax實(shí)現(xiàn)表格數(shù)據(jù)不同列標(biāo)題排序(為表格注入活力)
AJAX教程Rss訂閱編程教程搜索
AJAX教程推薦
- adapter和facade模式在Ajax中的應(yīng)用
- AJAX編程實(shí)踐之與服務(wù)器通信
- 不用組件實(shí)現(xiàn)Ajax效果
- AJAX和WebService實(shí)現(xiàn)郵箱驗(yàn)證(無刷新驗(yàn)證郵件地址是否合法)
- 如何結(jié)合MS AJAX將js文件編譯到動(dòng)態(tài)鏈接庫(kù)
- ajax后退解決方案
- 揭秘Ajax 及其入門基礎(chǔ)
- XMLHttpRequest和AJAX入主Web開發(fā)
- 揭密各種AJAX控件和類庫(kù)
- 多ajax請(qǐng)求的各類解決方案(同步, 隊(duì)列, cancel請(qǐng)求)
- 相關(guān)鏈接:
- 教程說明:
AJAX教程-ajax的 IE cache 相關(guān)問題解決
。