Большинство методов 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 теперь возвращает обещание с помощью дополнительных методов ( например, прерывание), поэтому приведенный выше код все еще работает, хотя возвращаемый объект уже не является xhr
. См. Блог 3.0 здесь .
ОБНОВЛЕНИЕ 3: xhr.abort()
все еще работает на jQuery 3.x. Не предполагайте, что обновление 2 верное. Дополнительная информация о репозитории jQuery Github .