$.getJSON()清理緩存

$.getJSON()存在緩存問題,如果其調用的url之前曾經調用過的話,回調函數就會直接在緩存裏取得想要得值,而不是進入到後臺


在項目中遇到一個問題,在火狐下,$.getJSON();請求數據一切正常,但是在IE下面,$.getJSON();只請求一次數據,第二次根本就不發送請求了,用fiddler抓取了才知道,第二次沒有發送請求,改成了post就正常了

$.getJSON()存在緩存問題,如果其調用的url之前曾經調用過的話,回調函數就會直接在緩存裏取得想要得值,而不是進入到後臺

解決方法如下:

1、讓每次調用的URL都不一樣。

方法:在參數中加一個隨機數

複製代碼 代碼如下:

$.getJSON("/Member/GetExercise.html", { id: $("#Wareid").val(), isBool: loop, random:
Math.random() }, function (data) });

複製代碼 代碼如下:

$.getJSON("/Member/GetExercise.html?random=Math.random", { id: $("#Wareid").val(),
isBool: loop,}, function (data) });

用new Date()也可以算是隨機的URL

複製代碼 代碼如下:

?random=new Date().getTime()

2、將cache設爲false

複製代碼 代碼如下:

$.ajax({
type:"GET",
url:'/Member/GetExercise.html',
cache:false,
dataType:"json",
success:function (data){
alert(data);
}
});
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章