ホームページ >ウェブフロントエンド >jsチュートリアル >予期しない動作を起こさずに 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 サイトの他の関連記事を参照してください。