Глобальная обработка ошибок Backbone.js
Я пишу веб-сайт с использованием Backbone.js для веб-интерфейса и собственного сервера RESTful для интерфейса API. Мой сервер API (RESTful) требует авторизации вручную и ожидает маркер безопасности в заголовке "Авторизация". Если токен безопасности устарел или сломан, сервер API вернет ответ с кодом состояния 401. Я переопределяю Backbone.sync, чтобы отправлять дополнительные заголовки с запросами и возвращать options.error(jqXHR.status)
по ошибке AJAX.
Как добавить обработчик событий глобальных ошибок для обработки событий options.error(...)
при загрузке неудачных ресурсов? Мне нужно, чтобы перенаправление навигации на страницу /#!/signin
на ответ 401 Unauthorized
.
Ответы
Ответ 1
вы можете попробовать использовать обработчик событий jQuery Global Ajax:
http://api.jquery.com/category/ajax/global-ajax-event-handlers/
Вы просто привязываете событие .ajaxError
к телу или вашему элементу приложения и фильтруете коды состояния 401.
При ошибке 401 вы перенаправляете свое приложение, например window.yourAppRouter.navigate(...)
Ответ 2
В том же духе к предложению глобального обработчика событий Ajax вы можете справиться с этим с помощью метода jQuery ajaxSetup: fooobar.com/info/146345/...