¿Cómo detecta el error del servidor o la página 404 no encontrada cuando usa $.get o $.post?
Por ejemplo:
$.post("/myhandler", { value: 1 }, function(data) { alert(data); });Eso no hará absolutamente nada si hay un error del servidor al cargar "/ myhandler", o si no se encuentra.
¿Cómo haces que te notifique si hay un error?
Podrías hacerlo
$.post("/myhandler", { value: 1 }, function(data) { alert(data); }).fail(function(){ // Handle error here });se llamará a fail si hay un error
usar el controlador de error en $.ajax()
$.ajax({ url: "/myhandler", data: {value: 1}, type: 'post', error: function(XMLHttpRequest, textStatus, errorThrown){ alert('status:' + XMLHttpRequest.status + ', status text: ' + XMLHttpRequest.statusText); }, success: function(data){} });Las otras respuestas son buenas y todo, pero hay soluciones alternativas, a saber, .ajaxSetup , .ajaxError y otros controladores de eventos Ajax (consulte la página de documentos de ajaxSetup para obtener más información sobre el resto).
Por ejemplo, con .ajaxError puede configurar un controlador global de todos sus errores ajax de .post , .get , .getJSON y .ajax para un conjunto específico de elementos.
$(selector).ajaxError(function(event, xhr, ajaxOptions, errorThrown) { // handle ajax error here });