每10毫秒重复执行ajax会减慢其他ajax调用的加载速度 同一页
我有两个Ajax代码,一个下面的代码(在10毫秒后重复),另一个我认为没有必要在这里(根据用户输入完成)
var checkState = function() {
var url = "http://domain.in/quiz/quiz_inplay_time_difference.php?record=30";
$.ajax({
url: url
}).done(function(data) {
var time_left_display = $('#time_left_display');
//initialize the time
var time_left = String(data.time_left);
var hyphen = '';
if (time_left.indexOf("-") !== -1) {
hyphen = '-';
}
if (time_left <= -1) {
window.location.replace("http://domain.in/quiz/quiz_result.php?record=30");
}
if (time_left <= 60) {
$('#time_bar').removeClass("alert-info");
$('#time_bar').addClass("alert-warning");
}
if (time_left <= 10) {
$('#time_bar').removeClass("alert-warning");
$('#time_bar').addClass("alert-danger");
}
time_left = time_left.replace('-', '');
var minutes = Math.floor(time_left / 60);
var seconds = time_left % 60;
//update the time
time_left_display.html(hyphen + minutes.toString() + ':' + seconds.toString());
});
}
checkState();
setInterval(checkState, 10);
当我在本地服务器(wampserver)上加载页面时,上面的代码和其他ajax调用可以快速运行,并按预期提供结果。但是当我在服务器(domain.in)上加载另一个ajax(根据用户的输入称为)时,同一页面的运行速度非常慢。
因此,要检查问题所在,我从代码中删除了setInterval(checkState, 10);
并在服务器(domain.in)上运行,另一个ajax(根据用户的输入称为该ajax)按预期运行得很快。
我的问题:
我上面的代码正确吗?可以更容易,更快捷地运行吗?任何 还有其他选择吗?