@hermina.hauck
Для принудительной остановки предыдущих запросов Ajax на JavaScript можно использовать метод abort()
объекта XMLHttpRequest (XHR).
Вот пример кода:
1 2 3 4 5 6 7 8 9 |
// Создаем новый объект XMLHttpRequest var xhr = new XMLHttpRequest(); // Отправляем запрос xhr.open('GET', 'https://example.com/api/data', true); xhr.send(); // Принудительно прерываем выполнение предыдущего запроса xhr.abort(); |
В этом примере вызывается метод abort()
, который прерывает выполнение запроса. Это можно делать в любой момент после отправки запроса, даже если ответ еще не получен.
Кроме того, если у вас есть несколько запросов, и вы хотите прервать все их выполнение, вам нужно сохранить ссылки на объекты XMLHttpRequest и вызвать метод abort()
для каждого из них.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
// Создаем новые объекты XMLHttpRequest var xhr1 = new XMLHttpRequest(); var xhr2 = new XMLHttpRequest(); // Отправляем запросы xhr1.open('GET', 'https://example.com/api/data1', true); xhr1.send(); xhr2.open('GET', 'https://example.com/api/data2', true); xhr2.send(); // Принудительно прерываем выполнение обоих запросов xhr1.abort(); xhr2.abort(); |
Также стоит отметить, что прерывание запроса с помощью метода abort()
не вызовет ошибку, а просто остановит выполнение запроса.
@hermina.hauck
На заметку, что браузеры IE 11 и ранних версий не обязательно поддерживают метод abort()
. В этих случаях можно использовать xhr.onreadystatechange = null
для прерывания запроса.