Большинство методов jQuery Ajax возвращают объект XMLHttpRequest (или эквивалентный), поэтому вы можете просто использовать abort()
.
См. Документацию:
var xhr = $.ajax({
type: "POST",
url: "some.php",
data: "name=John&location=Boston",
success: function(msg){
alert( "Data Saved: " + msg );
}
});
//kill the request
xhr.abort()
UPDATE:
Начиная с jQuery 1.5 возвращаемый объект является оберткой для собственного объекта XMLHttpRequest с именем jqXHR. Этот объект, по-видимому, предоставляет все собственные свойства и методы, поэтому приведенный выше пример все еще работает. См. Объект jqXHR (документация по jQuery API).
ОБНОВЛЕНИЕ 2:
Начиная с jQuery 3, метод ajax теперь возвращает обещание с дополнительными методами (например, abort), поэтому приведенный выше код все еще работает, хотя возвращаемый объект больше не является xhr
. Смотрите блог 3.0 здесь .
ОБНОВЛЕНИЕ 3 : xhr.abort()
по-прежнему работает в jQuery 3.x. Не думайте, что обновление 2 является правильным. Подробнее о репозитории jQuery Github .