Umleiten zu einer anderen Seite in node.js

8

Ich habe ein Login und eine Anmeldeseite. Wenn ein zufälliger Benutzer sich anmelden möchte und die Anmeldung erfolgreich ist, möchte ich ihn auf eine andere .ejs-Seite umleiten (zum Beispiel UserHomePage.ejs), jedoch hat nichts, was ich versucht habe, bisher funktioniert.

%Vor%

Ich würde auch gerne wissen, wie man einen Benutzer auf Knopfdruck umleitet.

Nehmen wir an, ich bin auf der Anzeige-Benutzer-Seite, wo ich alle meine Benutzer anzeigen, dann gibt es "fügen Sie eine andere verwendete Schaltfläche hinzu". Wie mache ich das? Wie leite ich Benutzer nach einem Klick auf die Seite "Register.js" um?

%Vor%

Vielen Dank!

    
aiden87 05.04.2016, 19:06
quelle

6 Antworten

20

Sie sollten die umleitende Zeile

zurückgeben %Vor%     
Rob Brander 05.04.2016, 19:17
quelle
3

Ok, ich versuche dir zu helfen, eins meiner Beispiele zu benutzen. Zuallererst müssen Sie wissen, dass ich express für meine Anwendungsverzeichnisstruktur und für die automatische Erstellung von Dateien wie app.js verwende. Meine login.html sieht folgendermaßen aus:

%Vor%

Wichtig ist hier action="/ login" . Dies ist der Pfad, den ich in meiner index.js (zum Navigieren zwischen den Ansichten) verwende, die wie folgt aussieht:

%Vor%

Dadurch kann ich nach einer erfolgreichen Anmeldung auf eine andere Seite umleiten. Es gibt ein hilfreiches Tutorial, das Sie zum Umleiten zwischen den Seiten ausprobieren können:

Ссылка

Um eine Anweisung wie & lt;% = user.attributes.name% & gt; zu lesen, sehen wir uns eine einfache profile.html an, die folgende Struktur hat:

%Vor%

Um die Attribute der user Variable zu erhalten, müssen Sie eine user Variable in Ihrer routing.js (in meinem Fall mit dem Namen index.js) initialisieren. Das sieht wie

aus %Vor%

Ich benutze Mungo für mein Objektmodell:

%Vor%

Frag mich jederzeit für weitere Fragen ... Freundliche Grüße, Nazar

    
Nazar Medeiros 05.04.2016 19:34
quelle
1

Wenn sich der Benutzer erfolgreich bei Ihrer Knoten-App angemeldet hat, denke ich, dass Sie Express verwenden, nicht wahr? Nun können Sie easy umleiten, indem Sie res.redirect verwenden. Wie:

%Vor%     
Eduardo Pereira 05.04.2016 19:12
quelle
1

Die If else-Anweisung muss in eine .get-Datei oder eine .post-Datei zur Umleitung eingeschlossen werden. Wie zum Beispiel

%Vor%

oder

%Vor%     
jmona789 05.04.2016 19:18
quelle
0

@Nazar Medeiros - Ihre Lösung verwendet Pass mit Express. Ich benutze keinen Reisepass, nur Express-JWT. Möglicherweise mache ich etwas falsch, aber wenn sich ein Benutzer anmeldet, muss das Token zur Clientseite zurückkehren. Nach dem, was ich bisher gefunden habe, bedeutet dies, dass wir einen JSON mit dem Token zurückgeben müssen und daher Redirect nicht aufrufen können. Gibt es etwas, das mir dort fehlt?

Um das zu umgehen, gebe ich einfach das Token zurück, speichere es in meinen Cookies und mache dann eine Ajax-GET-Anfrage (mit dem gültigen Token). Wenn dieser Ajax-Aufruf zurückkommt, ersetze ich den HTML-Code des Körpers durch den zurückgegebenen HTML-Code. Das ist wahrscheinlich nicht der richtige Weg, aber ich kann keinen besseren Weg finden. Hier ist mein JQuery-JavaScript-Code.

%Vor%     
ajpieri 12.11.2017 04:59
quelle
0

Auf andere Weise können Sie window.location.href="your URL"

verwenden

z.B.:

%Vor%

oder:

%Vor%     
BittuS 17.01.2018 17:55
quelle