jQuery Ajax 呼び出し後のリダイレクト リクエストの管理
jQuery の $.post() を使用してサーブレットを呼び出すと、リダイレクトが発生する可能性がありますセッションタイムアウト時のディレクティブ。このディレクティブはブラウザにログイン ページに移動するように指示し、意図した Ajax 応答を中断します。
リダイレクト管理に JSON を使用する
この問題を解決するには、次のように JSON を利用することを検討してください。 Ajax 応答の一部です。 278 などの非標準の HTTP ステータス コードを使用する代わりに、すべての応答で 200 ステータス コードを維持できます。応答本文には、data.redirect と data.form という 2 つの主要メンバーを含む JSON オブジェクトが含まれます。
クライアント側の処理
クライアント側では、JavaScriptコードはこの JSON オブジェクトを使用して適切なアクションを決定します。 data.redirect が存在する場合、ブラウザのリダイレクト先の URL を表します。 data.form が存在する場合、現在のページ上の指定されたフォームを置き換えるための HTML コードが含まれています。
これを jQuery で実装する方法の例を次に示します。
$.ajax({ type: "POST", url: reqUrl, data: reqBody, dataType: "json", success: function(data, textStatus) { if (data.redirect) { window.location.href = data.redirect; } else { $("#myform").replaceWith(data.form); } } });
使用方法JSON を使用すると、リダイレクト操作とフォーム置換操作の両方の制御を維持できるため、Ajax 呼び出し中のシームレスなユーザー エクスペリエンスが保証されます。
以上が応答の中断を防ぐために、jQuery AJAX 呼び出し後のリダイレクトを処理するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。