ホームページ > ウェブフロントエンド > jsチュートリアル > 応答の中断を防ぐために、jQuery AJAX 呼び出し後のリダイレクトを処理するにはどうすればよいですか?

応答の中断を防ぐために、jQuery AJAX 呼び出し後のリダイレクトを処理するにはどうすればよいですか?

Linda Hamilton
リリース: 2025-01-04 16:24:40
オリジナル
452 人が閲覧しました

How Can I Handle Redirects After jQuery AJAX Calls to Prevent Disrupted Responses?

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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート