Есть ли способ глобально прервать все Ajax-запросы без дескриптора объекта запроса?
Я спрашиваю, почему у нас довольно сложное приложение, в котором мы выполняем несколько разных Ajax-запросов в фоновом режиме. используя setTimeOut (). Если пользователь нажимает определенную кнопку, нам нужно остановить все текущие запросы.
Вам нужно вызвать метод abort ()
:
var request = $.ajax({
type: 'POST',
url: 'someurl',
success: function(result){..........}
});
После этого вы можете прервать запрос:
request.abort();
Таким образом, вам нужно создать переменную для вашего ajax запрос, а затем вы можете использовать метод abort
, чтобы прервать запрос в любое время.
Также посмотрите:
Вы не можете прервать все активные запросы Ajax, если вы не отслеживаете их дескрипторы.
Но если вы отслеживаете это, то да, вы можете это сделать, перебирая обработчики и вызывая .abort ()
для каждого из них.