我有一個函數可以調用Json響應並繪製Google Plots中的數據...我每90秒執行一次該函數,以便使用最新的數據更新我的圖表。 ..
但是,無論何時它處理它似乎鎖定瀏覽器幾秒鐘(甚至加載程序凍結),我很好,如果圖形部分凍結,但我不想裝入程序或其他項目凍結我希望UI在圖形更新時仍能正常工作。
有人可以幫助我,也許我應該改變$就
這裏是代碼:然後
function UpdateCharts() {
clearInterval(timerId);
BuildLineChart('power-chart', $('#datePower').val(), '1,28,32');
BuildLineChart('voltagecurrent-chart', currentDate, '13,15,17,5,7,9');
BuildLineChart('phasekw-chart', currentDate, '2,3,4');
BuildLineChart('phasevoltage-chart', currentDate, '13,15,17');
BuildLineChart('phasecurrent-chart', currentDate, '5,7,9,11');
timerId = setInterval(UpdateCharts, 90000);
}
// document ready function
$(document).ready(function() {
setTimeout(UpdateCharts, 5000);
});
構建線圖做到這一點:
function onDataReceived(seriesData) {
var p = $.plot(placeholder, seriesData.seriesData, options);
}
$.ajax({
url: '/Charts/LineChart?SeriesToGraph=' + dataPoints + '&DatePull=' + chartDate,
method: 'GET',
async: false,
cache: true,
dataType: 'json',
beforeSend: function() {
$("." + placeHold + "-loader").html('<img src="/Assets/images/loaders/circular/066.gif" />');
},
complete: function() {
$("." + placeHold + "-loader").html('');
},
success: onDataReceived
});
我有一個類似的問題,我的ajax函數在第一次運行時凍結。我正在使用.get()並嘗試使用.ajac()和asynch true並仍凍結瀏覽器。偶爾我會得到瀏覽器錯誤:腳本需要很長時間才能響應... yada yada。在第一次加載完成後,我似乎會在任何進一步的請求中運行。 – elzaer