2016-10-13 23 views
0

我正在使用socket.io在節點js中創建一個聊天應用程序。當新用戶登錄到localhost:3000時,會提供一個表單,您可以在其中輸入要輸入的姓名和房間。一旦按下提交按鈕,我該如何將該用戶重定向到適當的房間? 我的服務器由dafault在localhost:3000連接到時顯示login.html,並且我希望在點擊提交時發出一個新的請求,以便第二個app.get可以提供服務。重定向到節點js中的新頁面表達?

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

在login.html的形式 -

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

回答

1

您可以使用res.redirect([狀態]路徑)是這樣的:

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

這將重定向到指定的使用指定的HTTP狀態碼狀態的URL。如果未指定狀態代碼,則狀態代碼默認爲302(在大多數使用情況下都可以)

+0

我在哪裏可以在我的代碼中使用它? –

+0

請參閱:http://stackoverflow.com/questions/19035373/how-do-i-redirect-in-expressjs-while-passing-some-context(關於不同的方式,你可以使用它)@Drukhadha –