Um código de resposta HTTP 0 indica que a solicitação AJAX foi cancelada.
Isso pode acontecer a partir de um tempo limite, aborto por XHR ou um firewall bloqueando a solicitação. Um tempo limite é comum, significa que a solicitação falhou ao executar dentro de um tempo especificado. Um aborto XHR é muito simples de executar ... você pode realmente chamar .abort () em um objeto XMLHttpRequest para cancelar a chamada AJAX. ( Essa é uma boa prática para um aplicativo de página única, se você não quiser que as chamadas AJAX retornem e tentem fazer referência a objetos que foram destruídos. ) Como mencionado na resposta marcada, um firewall também seria capaz de cancelar a solicitação e acionar esta solicitação. 0 resposta.
Anulação de XHR: Anulação de solicitações de Ajax usando jQuery
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()
Vale ressaltar que a execução do método .abort () em um objeto XHR também acionará o retorno de chamada de erro. Se você estiver executando algum tipo de tratamento de erro que analise esses objetos, notará rapidamente que um XHR abortado e um XHR de tempo limite são idênticos, mas com jQuery o textStatus passado para o retorno de chamada de erro será "abortado" quando abortado. e "timeout" com um timeout ocorre. Se você estiver usando o Zepto (muito parecido com o jQuery), o errorType será "error" quando abortado e "timeout" quando ocorrer um timeout.
jQuery: error(jqXHR, textStatus, errorThrown);
Zepto: error(xhr, errorType, error);