Me gustaría detectar el error y mostrar el mensaje apropiado si falla la solicitud de Ajax.
Mi código es el siguiente, pero no pude captar la solicitud fallida de Ajax.
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;
});
}
Descubrí que "Error en Ajax" nunca se ejecuta cuando falla la solicitud de Ajax.
¿Cómo manejo el error Ajax y muestro el mensaje apropiado si falla?
jquery
ajax
post
error-handling
TTCG
fuente
fuente
$.ajax
más legible es usar un hash para tudata
. Por ejemplo:{ name : 'John', location: 'Boston' }
$.post().error()
jQuery 1.5 agregó objetos diferidos que manejan esto muy bien. Simplemente llame
$.post
y adjunte los controladores que desee después de la llamada. Los objetos diferidos incluso le permiten adjuntar múltiples controladores de éxito y error.Ejemplo:
Antes de jQuery 1.8, la función
done
se llamabasuccess
yfail
se llamabaerror
.fuente
responseJSON
propiedad que también es muy útil en caso de que el tipo ajax seajson
.fuente
fuente
Una forma simple es implementar ajaxError :
Por ejemplo:
Sugeriría leer la documentación de ajaxError . Hace más que el simple caso de uso demostrado anteriormente, principalmente su devolución de llamada acepta una serie de parámetros:
fuente
Debe registrar la respuesta Texto:
fuente
adjunta el controlador .onerror al objeto ajax, por qué las personas insisten en publicar JQuery para obtener respuestas cuando vanila trabaja en plataformas cruzadas ...
ejemplo rápido:
fuente