Gostaria de pegar o erro e mostrar a mensagem apropriada se a solicitação do Ajax falhar.
Meu código é o seguinte, mas não consegui capturar a solicitação Ajax com falha.
function getAjaxData(id)
{
$.post("status.ajax.php", {deviceId : id}, function(data){
var tab1;
if (data.length>0) {
tab1 = data;
}
else {
tab1 = "Error in Ajax";
}
return tab1;
});
}
Descobri que "Erro no Ajax" nunca é executado quando a solicitação do Ajax falha.
Como manejo o erro do Ajax e mostro a mensagem apropriada se ele falhar?
jquery
ajax
post
error-handling
TTCG
fonte
fonte
$.ajax
mais legível é usar um hash para o seudata
. Por exemplo:{ name : 'John', location: 'Boston' }
$.post().error()
O jQuery 1.5 adicionou objetos adiados que lidam bem com isso. Basta ligar
$.post
e anexar os manipuladores que desejar após a ligação. Objetos adiados ainda permitem anexar vários manipuladores de sucesso e erro.Exemplo:
Antes do jQuery 1.8, a função
done
era chamadasuccess
efail
chamadaerror
.fonte
responseJSON
propriedades que também são muito úteis no caso do tipo ajaxjson
.fonte
fonte
Uma maneira simples é implementar o ajaxError :
Por exemplo:
Eu sugeriria a leitura da documentação do ajaxError . Ele faz mais do que o simples caso de uso demonstrado acima - principalmente seu retorno de chamada aceita vários parâmetros:
fonte
Você precisa registrar a resposta
fonte
você anexa o manipulador .onerror ao objeto ajax, por que as pessoas insistem em postar JQuery para obter respostas quando o vanila trabalha em várias plataformas ...
exemplo rápido:
fonte