ramificando fuera de preguntas como this one, estoy buscando ajustar el método $ .ajax() de jQuery de modo que pueda proporcionar el manejo de errores en una ubicación, que luego ser utilizado automáticamente por todas las llamadas remotas de una aplicación.
El enfoque simple sería simplemente crear un nuevo nombre, similar a cómo $ .get() y $ .post() implementan fachadas en $ .ajax(). Sin embargo, espero reutilizar el nombre $ .ajax(), de modo que podamos mantener el resto de nuestro código utilizando la sintaxis estándar de jQuery, ocultando el hecho de que hemos agregado nuestro propio manejo de errores. ¿Es práctico y/o bueno de lograr, o posiblemente una idea horrible?
EDITAR: Las respuestas hasta ahora indican .ajaxError() es el camino a seguir. Sé que esto atrapará errores de nivel de 400 y 500, pero ¿hay alguna manera (con este controlador de eventos u otro) de atrapar 302 redirecciones también? Estoy tratando de manejar las respuestas que están redireccionando a una página de inicio de sesión, pero queremos interceptar esa redirección cuando se trata de una solicitud XHR, lo que permite al usuario cancelar la acción en lugar de forzarlos a reenviar automáticamente.
En una nota lateral, las respuestas a la no las solicitudes AJAX registradas probablemente retornarán 401 en lugar de 302. De todos modos, hay que pensar. – gtd