У меня есть этот код:Прервать вызов «полный:» Обратный вызов
$(function() {
(function poll(){
var update_progress = setTimeout(function(){
var jxhr = $.ajax({
type: "POST",
url: "grab.php",
data: "test",
success: function(data){
var error = data.error;
if(error == false) {
// My nonsense is here
} else if(error == true) {
// Stop sending AJAX request
clearTimeout(update_progress);
jxhr.abort();
}
}, dataType: "json", complete: poll, timeout: 2000 });
}, 2000);
})()
});
Как вы можете видеть, я пытаюсь прервать вызов «полный:» Обратный вызов еще раз, если мой сценарий возвращает ошибку, а также я ясно таймаут.
Таким образом, он не должен больше выполнять какой-либо запрос ajax. Как бы то ни было. Что я сделал не так?
вы не можете прервать запрос, который уже завершен. вы ничего не можете сделать здесь, кроме того, что глобальный флаг установлен в false при успешном завершении, а затем в полном прерве, если он является ложным. –
Это просто логично ^^ Я просто хочу прекратить дальнейшие запросы. – Michael
Правильно, но это логика. Вы должны отменить использование какого-либо флага. –