0

多くの Ajax GET 呼び出しを使用する JRuby on Rails アプリケーションがあります。結果は HTML ページに挿入されます。セッションがタイムアウトした場合、結果の html はログイン ページです。このログイン ページは、現在の HTML ページに挿入されます。代わりに、ログインページへのリダイレクトが発生するはずです...

この問題は一般的にどのように取り組まれていますか?

4

1 に答える 1

1

ブラウザはそれを隠しているため、302 をキャッチすることはできません - あなたの ajax リクエストは最終的なリクエストを見るだけです。

これが問題になった場合、私は通常ログイン コードを変更して、ログインしていないユーザーが制限されたページにアクセスしようとしたときに、リクエストが ajax リクエストである場合に特別なステータス コード (通常は 4xx コード) をレンダリングするようにします。ajax リクエスト ハンドラーでそのステータス コードを確認し (jour ajax ライブラリによっては、通常、グローバル ハンドラーを設定できます)、それが表示された場合は、ユーザーをログイン ページにリダイレクトします。

于 2012-05-02T15:00:20.107 に答える