Me gustaría detectar el error y mostrar el mensaje apropiado si la solicitud Ajax falla.¿Cómo puedo detectar un error en una consulta de Ajax?
Mi código es como el siguiente, pero no logré captar la solicitud Ajax defectuosa.
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 la solicitud Ajax falla.
¿Cómo manejo el error Ajax y muestro el mensaje apropiado si falla?
@Yuck $ .post puede aceptar una devolución de llamada de error utilizando objetos diferidos. Echa un vistazo a mi respuesta a continuación para ver un ejemplo. –
Además, la forma de hacer '$ .ajax' más legible es usar un hash para tus' datos'. Por ejemplo: '{nombre: 'John', ubicación: 'Boston'}' – briangonzalez
Las devoluciones de llamadas de éxito y error anteriores están obsoletas a partir de jQuery 1.8 http://api.jquery.com/jQuery.post/ – Baldy