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