Позвольте мне начать с реального варианта использования:
DWR сбивается с толку, когда фильтры аутентификации на стороне сервера пытаются перенаправить запросы AJAX на страницу входа из-за истекшего сеанса. Вы хотели бы добавить несколько фильтров, чтобы
- Запросы, чей код состояния HTTP равен 3xx , выполняют перенаправление на стороне клиента, например window.location = ... login.html
- Запрос, коды состояния которого равны 2xx , пересылаются - без изменений - любым зарегистрированным обработчикам, таким как DWR.
- Другие коды, такие как 4xx , могут вызывать оповещения, а не исчезать в пропасть.
Мне, вероятно, не нужно объяснять, почему этот тип функциональности был бы полезен; большинство серверных веб-фреймворков поддерживают шаблон перехватчика по тем же причинам, по которым вы можете захотеть использовать его на клиенте.
Одна (возможно, плохая) реализация может включать в себя обёртывание необработанного объекта XMLHttpRequest в прокси, который принимает некоторые функции фильтра. Поскольку jQuery, Prototype, ExtJS и т. Д. Уже обертывают объекты AJAX собственного браузера, это может быть еще одним дополнительным шагом.
Это это возможно реализовать нативно? Каковы технические проблемы? Было ли что-нибудь подобное сделано раньше?