当我使用setIntervalajax从数据库中检索数据时,如果我从数据库中检索到的数据等于saveHere,则会出现此问题,它将再次循环直到与变量saveHere不匹配,它将冻结浏览器直到数据我检索到的结果不等于saveHere。
setInterval
这是一个例子:
var saveHere = 'RED'; var interval = setInterval(function() { var sample = $.ajax({ type: 'GET', url: 'database.php', data : data }).responseText; if (sample != 'RED') { clearInterval(interval); saveHere = sample; } else { console.log('load again'); } },1000);
我真的需要建议。先感谢您。对不起,语法。
我不知道确切的情况或要实现的目标,但是我说您进行AJAX调用的方式非常危险,因为它有可能每秒不断地发出请求,而不管服务器是否有机会做出回应。
我很想一次只提出一个请求,例如:
var saveHere = 'RED'; makeAjaxCall(); function makeAjaxCall() { var url = 'database.php'; var data = {}; $.get(url, data, function(response_text){ if (response_text != 'RED') { saveHere = response_text; // do whatever else you need... } else { // make another call... console.log('calling again...'); makeAjaxCall(); } }, "text"); }