у меня есть вопрос, и я нужна идея для решения :)запрос остановки JQuery AJAX после другого ответа
У меня есть 2 вызов $ .ajax Во-первых, это асинхронный, и во много времени (1 минута например) Во-вторых, это синхронизация (в ajax async: false), и она быстро реагирует (например, 5 секунд)
Второй вызов находится в цикле (request-> response-> print data, request-> response-> > распечатать данные). Мне нужно, когда вы закончите (успех или ошибка), остановите второй звонок.
прилагаю пример кода:
var success = false;
$.ajax({
type: "POST",
url: urlRest,
data: {
data: dataSend
},
success: processOK,
error: processError
});
do {
$.ajax({
type: "POST",
url: urlData,
data: {
data: dataSend
},
async: false,
success: function(data, textStatus, jqXHR){
console.log(data);
},
error: function(data, textStatus, jqXHR){
console.log("Error");
}
});
} while (!success);
Я надеюсь, что это понятно :)
5 секунд для вызова Ajax не быстро для браузера. Некоторым браузерам необходимо обновить интерфейс после каждых 16 мс. Таким образом, ваша страница может закончиться как «страница не реагирует» – Agalo
Никогда не зацикливайте Ajax. Положите следующий звонок в успех или сделанный обратный вызов – mplungjan
то, что вы просите, невозможно. Первый обратный вызов запроса ajax не может выполняться во время выполнения цикла while. –