![](/img/trans.png)
[英]Node.JS and Express res.redirect() not enabling new webpage
[英]Redirect to a new page in node js express?
我正在使用socket.io在節點js中創建一個聊天應用程序。 當新用戶登錄到localhost:3000時,將顯示一個表單,您可以在其中輸入您的名稱和要輸入的房間。 按下“提交”按鈕后,如何將該用戶重定向到合適的房間? 當localhost:3000連接到我的服務器時,由dafault顯示的login.html,我希望單擊提交后發出新請求,以便第二個app.get
可以為其提供服務。
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";
});
您可以像這樣使用res.redirect([status,] path):
if (input_are_ok) {
res.redirect('public/index.html');
}
這將使用指定的HTTP狀態代碼狀態重定向到給定的URL。 如果未指定狀態碼,則狀態碼默認為302(在大多數情況下都可以)
提交表單后,瀏覽器使用輸入作為查詢字符串的參數,將該表單轉換為HTTP請求。 假設您在login.html中有一個這樣的表單:
<form action="/chat.html">
<label>Display username</label>
<input type="text" name="username" placeholder="Display name" required>
<label>Room</label>
<input type="text" name="room" placeholder="Room" required>
<button>Join</button>
</form>
單擊它后,此html頁面將使用2個字符串參數重定向到/ chat route。 您的網址將如下所示:
http:// localhost:3000 / chat.html?username = yourUserName&room = yourRoom
現在,您需要創建一個chat.html,提交后將顯示此頁面。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.