天天看點

你清楚jquery是如何清除ajax緩存的嗎?(轉)

大家都知道萬惡的IE在ajax中往往隻讀取第一次ajax請求時候的資料,其餘時候都是從cache提取資料,(太懶了T_T)。原生的JS清除ajax緩存的方法多,但是終覺有點繁瑣,如果是用jquery的同學,就設定一個參數就OK了,那就是cache: false,比如:

1
2
3
4
5
6
7
8
9
10
11
      
$.ajax({
	url: "mms-draft!getMmsDraftList",
	cache: false,
	dataType : "json",
	data:{
		 //some parameters
	},
	success: function(data) {
		//do something
	}
});
           

另外附上原生js方法:

  1、在服務端加 header(“Cache-Control: no-cache, must-revalidate”);(如php中)

  2、在ajax發送請求前加上 anyAjaxObj.setRequestHeader(“If-Modified-Since”,”0″);

  3、在ajax發送請求前加上 anyAjaxObj.setRequestHeader(“Cache-Control”,”no-cache”);

  4、在 Ajax 的 URL 參數後加上 “?fresh=” + Math.random(); //當然這裡參數 fresh 可以任意取了

  5、第五種方法和第四種類似,在 URL 參數後加上 “?timestamp=” + new Date().getTime();

  6、用POST替代GET:不推薦

繼續閱讀