„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Wie leite ich Benutzer nach der Anmeldung mithilfe der JavaScript-Abruf-API auf eine andere Seite um?

Wie leite ich Benutzer nach der Anmeldung mithilfe der JavaScript-Abruf-API auf eine andere Seite um?

Veröffentlicht am 08.11.2024
Durchsuche:869

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

Wie leite ich den Benutzer nach der Anmeldung mithilfe der JavaScript-Abruf-API auf eine andere Seite um?

Im bereitgestellten Code die JavaScript-fetch()-Methode wird verwendet, um eine POST-Anfrage mit einem von Google erhaltenen Token an einen Backend-Endpunkt zu senden. Bei der Validierung des Tokens im Backend wird eine RedirectResponse mit dem Statuscode 303 zurückgegeben. Die Umleitung erfolgt jedoch nicht im Browser.

Option 1: RedirectResponse zurückgeben

Die Funktion fetch() folgt standardmäßig Umleitungsantworten. Daher können Sie die Eigenschaften Response.redirected und Response.url in der fetch()-Antwort verwenden, um den Benutzer manuell umzuleiten.

Arbeitsbeispiel:

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
  }
})

Option 2: JSON-Antwort mit Umleitungs-URL zurückgeben

Alternativ kann das Backend eine JSON-Antwort mit der Umleitungs-URL zurückgeben. Im Frontend können Sie nach dem „URL“-Schlüssel in der Antwort suchen und den Benutzer entsprechend umleiten.

Arbeitsbeispiel:

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
  }
})

Option 3: Verwenden von HTML

Wenn die Verwendung von fetch() nicht erforderlich ist, können Sie ein herkömmliches HTML-Formular mit einer Senden-Schaltfläche verwenden. Wenn das Formular gesendet wird, verarbeitet der Browser die Umleitung automatisch, wenn eine RedirectResponse vom Server zurückgegeben wird.

Freigabeerklärung Dieser Artikel wird reproduziert unter: 1729207576 Wenn ein Verstoß vorliegt, wenden Sie sich bitte an [email protected], um ihn zu löschen.
Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3