jQuery Ajax 呼び出し後のリダイレクト リクエストの処理
jQuery Ajax 呼び出しを利用する場合、サーバーからのリダイレクト リクエストの管理が課題になる可能性があります。たとえば、ユーザーのセッションが期限切れになる場合、Ajax 呼び出しによってターゲット要素がログイン ページに置き換えられ、ユーザー エクスペリエンスが中断される可能性があります。
この問題を解決するには、サーバーの応答を変更することが 1 つのアプローチです。ステータス コードを 278 に変更します。これにより、ブラウザがリダイレクトを自動的に処理できなくなりますが、ブラウザ間で不一致が生じる可能性があります。
次のような代替ソリューション一貫したアプローチは、JSON を利用することです。応答ステータス コードを 200 に設定し、必要な情報を JSON オブジェクトにカプセル化することで、クライアント側 JavaScript は受信したデータに基づいて情報に基づいた決定を下すことができます。
jQuery を使用してこのソリューションを実装する方法の実践的な例
$.ajax({ type: "POST", url: reqUrl, data: reqBody, dataType: "json", success: function(data, textStatus) { if (data.redirect) { // data.redirect contains the string URL to redirect to window.location.href = data.redirect; } else { // data.form contains the HTML for the replacement form $("#myform").replaceWith(data.form); } } });
この例では、JSON オブジェクト「data」には 2 つのメンバーが含まれています: data.redirect (リダイレクトのターゲット URL を含む)および data.form (既存のフォームを置き換える HTML コンテンツを含む)。 JavaScript はこのデータを解釈してそれに応じて応答し、リダイレクト リクエストが発生した場合でもシームレスなユーザー エクスペリエンスを保証します。
以上がjQuery AJAX 呼び出し後のサーバー側リダイレクトを処理するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。