這篇文章主要講解了“如何解決ie發(fā)送ajax請求返回上一次結(jié)果的問題”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“如何解決ie發(fā)送ajax請求返回上一次結(jié)果的問題”吧!
問題出現(xiàn)原因:
1. ie下面只會建立一次 ajax 請求,將響應(yīng)結(jié)果放在瀏覽器緩存里 下次調(diào)用該ajax請求時 從緩存里讀取
get方式時,獲取數(shù)據(jù),因發(fā)送參數(shù)和地址都一致,故IE瀏覽器會從緩存中取,而不會去請求服務(wù)器端,而post方式因為參數(shù)的不同,不會產(chǎn)生這個問題
2. 火狐下面 每次激活事件 都會重新建立一次ajax請求
解決方法:
1: 在AJAX請求的頁面后加個隨機函數(shù),我們可以使用隨機時間函數(shù)
在javascript發(fā)送的URL后加上t=Math.random()
例如這樣:URL+"&"+"t="+Math.random();或者new Date(); 在 URL 參數(shù)后加上 "?timestamp=" + new Date().getTime();
2.
復(fù)制代碼 代碼如下:
$.ajax({
type: "POST",
async:false, // 設(shè)置同步方式
cache:false,//緩存
url: url,
data:data,
success:function(data){
//成功返回值后的操作
}
});
解決方式就是 cache:false
感謝各位的閱讀,以上就是“如何解決ie發(fā)送ajax請求返回上一次結(jié)果的問題”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對如何解決ie發(fā)送ajax請求返回上一次結(jié)果的問題這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是創(chuàng)新互聯(lián)網(wǎng)站建設(shè)公司,,小編將為大家推送更多相關(guān)知識點的文章,歡迎關(guān)注!