実際の使用例から始めましょう。
セッションの期限切れが原因で、サーバー側の認証フィルターが AJAX 要求をログイン ページにリダイレクトしようとすると、DWRが混乱します。いくつかのフィルターを追加して、
- HTTP ステータス コードが3xxに等しいリクエストは、 window.location = ...login.htmlのように、クライアント側のリダイレクトを実行します。
- ステータス コードが2xxに等しいリクエストは、変更されずに、DWR などの登録済みハンドラに転送されます。
- 4xxなどの他のコードは、深淵に消える代わりにアラートをトリガーする可能性があります。
このタイプの機能が役立つ理由を説明する必要はないでしょう。ほとんどのサーバー側 Web フレームワークは、クライアントでインターセプター パターンが必要な場合と同様の理由で、インターセプター パターンをサポートしています。
1 つの (おそらく悪い) 実装では、未加工の XMLHttpRequest オブジェクトを、いくつかのフィルター関数を受け入れるプロキシーにラップする必要があります。jQuery、Prototype、ExtJS などはすべて、ネイティブ ブラウザー AJAX オブジェクトを既にラップしているため、これは 1 つの追加ステップになる可能性があります。
これはネイティブに実装できますか? 技術的な課題は何ですか? このようなことは以前に行われたことがありますか?