Json Response を取得し、Google Plots 内のデータをプロットする呼び出しを行う関数があります...この関数を 90 秒ごとに実行して、チャートを最新のデータで更新します....
これはうまく機能しますが、処理中にブラウザが数秒間フリーズするように見えます (ローダーがフリーズしても) グラフ部分がフリーズしても問題ありませんが、ローダーやその他のアイテムをフリーズさせたくありません UI が必要ですグラフが更新されている間も機能します。
$.ajaxを変更する必要があるかもしれません
コードは次のとおりです。
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
});