имеем Код (Text): (function get_log(){ $.ajax({ type: "GET", url: "/index.php?action=get_log", dataType: 'json', success: function(answer, textStatus, XMLHttpRequest) { var status = answer.status; var message = answer.message; if (status == "finish") { clearTimeout(timeoutIDlog); } }, error: function(XMLHttpRequest, textStatus, errorThrown) { }, complete: function(XMLHttpRequest){ timeoutIDlog = setTimeout(get_log, 3000); } }); }()); в чем соль отправляем запрос серваку, он нам отвечает нечто в json что надо: если var status = answer.status; пришло нечто, в данном примере finish надо тормознуть clearTimeout(timeoutIDlog); не останавливается и все тут ((( что делаю не так?
Перед методом $.ajax() добавить var timeoutIDlog; И делать проверку внутри complete, т.к. эта функция выполнится после success
Код (Text): (function get_log(){ var timeoutIDlog; $.ajax({ type: "GET", url: "/index.php?action=get_log", dataType: 'json', success: function(answer, textStatus, XMLHttpRequest) { var status = answer.status; var message = answer.message; if (status == "finish") { clearTimeout(timeoutIDlog); console.log(timeoutIDlog+'success'); } }, error: function(XMLHttpRequest, textStatus, errorThrown) { }, complete: function(XMLHttpRequest){ timeoutIDlog = setTimeout(get_log, 3000); } }); }()); сделал так в итоге в консоли undefinedsuccess и все так же не останавливает выполнение, каждый 3 секунды выполняет запрос (
P.S. Первое предложение можно забыть в связи со вторым)) Именно потому, что complete выполнится после success и в любом случае, то именно там нужно делать проверку.
Вот примерно так Код (PHP): (function get_log(){ var status; $.ajax({ type: "GET", url: "/index.php?action=get_log", dataType: 'json', success: function(answer, textStatus, XMLHttpRequest) { status = answer.status; var message = answer.message; }, error: function(XMLHttpRequest, textStatus, errorThrown) { }, complete: function(XMLHttpRequest){ if (typeof status != 'undefined' && status != 'finish'){ timeoutIDlog = setTimeout(get_log, 3000); } } }); }());
все равно спасибо кинь в личку почту, а? Просто мне частенько по JS нужно вправлять мозги, иногда это долго, а сделать надо срочно (а проблемы, как видно, часто просто из-за отсутствия "набитой руки" на JS), вобщем если интересуют небольшие задачки за адекватную оплату, стукнись пожалуйста.