在專案中遇到一個問題,在火狐下,$.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.rand?random=Math.html? ", { id: $("#Wareid").val(),
isBool: loop,}, function (data) });
用new Date()也可以算是隨機的URL
?random=new Date().getTime()
2、將cache設為false
$.ajax({
$.ajax({
",
url:'/Member/GetExercise.html',
cache:false,
dataType:"json",
success:function (data){
alert(data);
}});