使用jQuery的getJSON從后台定時獲取數據並刷新界面,使用以下方法時,在Chrome,Firefox下沒問題,但在IE9下卻無法刷新數據
$.getJSON(webApp + "/GetShowData.do?limit=" + limit,function(data){
//******************
}
原因是,在IE9下,進行Ajax請求時,若與之前請求相同,則不會再從瀏覽器獲取數據,而是直接從本地獲取,因此,在請求中加上時間戳,IE9便會認為是不同的請求,代碼如下:
$.getJSON(webApp + "/GetHccShowData.do?" + new Date().getTime() + "limit=" + Hcc.limit,function(data){
//******************
}
此外,也可以使用以下方法:
Hcc.limit = Hcc.limit || 15; $.ajax({ type:"GET", url:webApp + "/GetHccShowData.do?" + "limit=" + Hcc.limit, cache:false, async:false, dataType:"json", success:function(data){ Hcc.ShowData = data; /**
* 處理代碼
***/ data = null; } });
cache:配置為false時,表示不從瀏覽器緩存中獲取數據,調試時可以看到,發Get請求時,會自動加上時間戳
