I'm trying to call clearInterval inside setInterval function, which is doing some ajax fetching, without any luck.
var nre = setInterval('checkit()',5000);
$(function() {
checkit = function(){
$.post("check.php", { login: "<?php echo $_SESSION['login'];?>" }, function( data ) {
if (data == 1) {
$('#debug').html(data);
window.clearInterval(nre);
}
});
}
});
The point is, that the loop wont break, although recieves positive data to do so.
I've read that async action of setInterval function might be the issue here. Is there a better way to solve it?
Move everything inside the same scope, and don't use the string form of setInterval
:
$(function() {
var nre = setInterval(checkit, 5000);
function checkit() {
$.post("check.php", { login: "..." }, function( data ) {
if (data === 1) {
$('#debug').html(data);
clearInterval(nre);
}
});
}
});