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

$.ajaxmá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
$.posty 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
donese llamabasuccessyfailse llamabaerror.fuente
responseJSONpropiedad 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