2016-10-13 10 views
0

Ich erstelle eine Chat-App im Knoten js mit socket.io. Wenn sich ein neuer Benutzer bei localhost: 3000 anmeldet, wird ein Formular angegeben, in dem Sie Ihren Namen und den Raum eingeben, den Sie eingeben möchten. Wie kann ich diesen Benutzer in den entsprechenden Raum umleiten, sobald der Absenden Button gedrückt wird? Mein Server von Dafault zeigt login.html an, wenn localhost: 3000 verbunden ist, und ich will, dass beim Klicken auf Senden, eine neue Anfrage gemacht wird, so dass die zweite app.get kann es dienen.Umleiten auf eine neue Seite im Knoten js express?

app.get("/", function(req, res) { 
    res.sendFile(__dirname + "/login.html"); 
}); 
app.get("/room", function(req,res) { 
    res.sendFile(__dirname + "/chat.html"); 
}); 

Die Form, in login.html -

var myForm2 = document.getElementById("myForm2"); 
myForm2.addEventListener("submit", function(e) { 
    e.preventDefault(); 
    document.location = "localhost:3000/room"; 
}); 

Antwort

1

Sie können res.redirect ([Status] Pfad) wie folgt verwenden:

if (input_are_ok) { 
    res.redirect('public/index.html'); 
} 

Diese an die angegebene umleitet URL, die den angegebenen Status des HTTP-Statuscodes verwendet Wenn kein Statuscode angegeben wird, lautet der Statuscode standardmäßig 302 (was in den meisten Anwendungsfällen gut ist)

+0

Wo verwende ich es in meinem Code? –

+0

siehe: http://stackoverflow.com/questions/19035373/how-do-i-redirect-in-expressjs-why-passing-some-context (die Abfrage geht dort auf die verschiedenen Möglichkeiten, wie Sie es verwenden können) @DhruvChadha –

Verwandte Themen