ホームページ > ウェブフロントエンド > jsチュートリアル > 予期しない動作を起こさずに jQuery Ajax 呼び出しでサーバー リダイレクトを処理する方法

予期しない動作を起こさずに jQuery Ajax 呼び出しでサーバー リダイレクトを処理する方法

Linda Hamilton
リリース: 2024-12-16 19:40:15
オリジナル
772 人が閲覧しました

How to Handle Server Redirects in jQuery Ajax Calls Without Unexpected Behavior?

直接のアイコンタクトの回避: jQuery Ajax 呼び出しでのリダイレクトの管理

jQuery で Ajax 呼び出しを実行するときに、サーバーからのリダイレクト ディレクティブが発生すると、意図しない結果が生じる可能性があります。予想される div 要素の置き換えではなく、ユーザーが無意識にログイン ページを見つめていることに気づくかもしれません。

洞察力に富んだ投稿で提案されているように、この苦境の解決策には、HTTP ステータス コードを微調整する必要があります。これにより、ブラウザがリダイレクトを自動的に処理できなくなります。ただし、より堅牢なアプローチについては、JSON の利用を検討してください。

このシナリオでは、応答に関係なく、Ajax 呼び出しはステータス コード 200 を維持します。応答本文には、サーバー上で作成された JSON オブジェクトが含まれています。このオブジェクトにより、クライアント側の JavaScript はその内容に基づいて適切なアクションを決定できます。

このアプローチの実装は、次のロジックを模倣します。

$.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);
        }
    }
});
ログイン後にコピー

サーバー上で構成されるデータ オブジェクト。 data.redirect と data.form という 2 つの主要なコンポーネントで構成されます。この方法により、Ajax 呼び出し中のリダイレクト リクエストの処理がより柔軟かつ明確になります。

以上が予期しない動作を起こさずに jQuery Ajax 呼び出しでサーバー リダイレクトを処理する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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