「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > JavaScript Fetch API を使用してログイン後にユーザーを別のページにリダイレクトするにはどうすればよいですか?

JavaScript Fetch API を使用してログイン後にユーザーを別のページにリダイレクトするにはどうすればよいですか?

2024 年 11 月 8 日に公開
ブラウズ:973

How to Redirect User to Another Page After Login Using JavaScript Fetch API?

JavaScript Fetch API を使用してログイン後にユーザーを別のページにリダイレクトする方法

提供されているコードでは、JavaScript fetch() メソッドGoogle から取得したトークンを使用してバックエンド エンドポイントに POST リクエストを送信するために使用されます。バックエンドでトークンが検証されると、RedirectResponse がステータス コード 303 で返されます。ただし、リダイレクトはブラウザでは発生しません。

オプション 1: RedirectResponse を返す

fetch() 関数は、デフォルトでリダイレクト応答に従います。したがって、 fetch() 応答で Response.redirected プロパティと Response.url プロパティを使用して、ユーザーを手動でリダイレクトできます。

実際の例:

fetch('http://localhost:8000/login', {
  method: 'POST',
  headers: { ... },
  body: { ... },
  redirect: 'follow'
})
.then(res => {
  if (res.redirected) {
    window.location.href = res.url;
  } else {
    // Handle non-redirect responses
  }
})

オプション 2: リダイレクト URL を含む JSON 応答を返す

または、バックエンドはリダイレクト URL を含む JSON 応答を返すこともできます。フロントエンドでは、応答内の「url」キーを確認し、それに応じてユーザーをリダイレクトできます。

実際の例:

fetch('http://localhost:8000/login', {
  method: 'POST',
  headers: { ... },
  body: { ... },
})
.then(res => res.json())
.then(data => {
  if (data.url) {
    window.location.href = data.url;
  } else {
    // Handle non-redirect responses
  }
})

オプション 3: HTML

を使用する fetch() を使用する必要がない場合は、送信ボタンのある従来の HTML フォームを使用できます。フォームが送信されると、サーバーから RedirectResponse が返された場合、ブラウザーは自動的にリダイレクトを処理します。

リリースステートメント この記事は次の場所に転載されています: 1729207576 権利侵害がある場合は、[email protected] に連絡して削除してください。
最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3