Обернуть jQuery $. ajax () для определения глобальной обработки ошибок

В ответ на такие вопросы, как этот , я хочу обернуть метод jQuery $ .ajax () таким образом, чтобы я мог обеспечить обработку ошибок в одном месте, что затем будет использоваться автоматически всеми удаленными вызовами приложения.

Простым подходом было бы просто создать новое имя, подобно тому, как $ .get () и $ .post () реализуют фасады для $ .ajax (). Однако я надеюсь повторно использовать имя $ .ajax (), чтобы мы могли сохранить остальную часть нашего кода, используя стандартный синтаксис jQuery, скрывая от него тот факт, что мы добавили нашу собственную обработку ошибок. Это практично и / или удобно для реализации, или, возможно, это ужасная идея?

РЕДАКТИРОВАТЬ: Ответы на данный момент указывают на то, что .ajaxError () - это правильный путь. Я знаю, что это отловит ошибки уровня 400 и 500, но есть ли способ (с этим обработчиком событий или другим способом) также перехватить 302 редиректа? Я пытаюсь обработать ответы, которые перенаправляют на страницу входа в систему, но мы хотим перехватить это перенаправление, когда это запрос XHR, позволяя пользователю отменить действие вместо принудительной пересылки автоматически.

21
задан Community 23 May 2017 в 10:29
поделиться