我从c#数据库中获取数据并使用Ajax将它传递到Javascript中。我将这些数据存储在数组中。我每3秒查询一次数据库。我正在使用这些数据来更新我的图表,例如更改曲目的颜色。仿真工作正常,直到30秒后,我的用户界面(浏览器)卡住,并没有得到更新。您能否告诉我如何让仿真运行而不会卡住?UI不更新
代码:
function getData() {
$(document).ready(function() {
var q = setInterval(getData, 3000);
jQuery.ajax({
type: "POST",
url: "WebForm1.aspx/GetStations", //It calls our web method
contentType: "application/json; charset=utf-8",
data: JSON.stringify({ myArray: dl_id_track }),
dataType: "json",
async: true,
success: function (data) {
if (data != null) {
var len = data.d.length;
for (var i = 0; i < len; i++) {
signo[i] = data.d[i].signo;
status[i] = data.d[i].status;
}
}
simulate();
},
error: function (d) {
}
});
});
}
function simulate() {
for (var i = 0; i < b.length; i++) {
for (var j = 0; j < 1024; j++) {
//track
if (signo[j] == sig_no_track[i]) {
if (status[j] == "1") {
var x1 = parseInt(left_track[i]) + parseInt(x1_track[i]);
var y1 = parseInt(top_track[i]) + parseInt(y1_track[i]);
var x2 = parseInt(left_track[i]) + parseInt(x2_track[i]);
var y2 = parseInt(top_track[i]) + parseInt(y2_track[i]);
var line1 = draw.line([[x1, y1], [x2, y2]]).stroke({ width: 3, color: '#ff0000' });
}
你能展示你的代码的相关部分吗? –
我已添加代码。 getData函数从C#中的数据库获取数据。模拟功能改变轨道的颜色。 – padma