提问:
router.post("/api/login",async function(req,res){ // Get the username and password submitted in the form const username = await req.body.username; const password = await req.body.password; console.log(username +" and "+ password); // Find a matching user in the database const user = await userDao.retrieveUserWithCredentials(username, password); console.log("the user is "+ user.username); // if there is a matching user... if (user) { res.sendStatus(204); console.log("204 triggered"); } // Otherwise, if there's no matching user... else { // Auth fail res.status(401).send(); console.log("401 is triggered") } });
<form action="./login" method="POST" class = "register">
我知道res.redirect和res.status()不能一起用,但是我需要他user验证通过后进入主页面。找了好多资料了也没有讲的。有谁知道该怎么办么?需要重新弄一个get还是post么?我其实还需要返回user 的一个token,user.token,试了res.send(user.token)也会报错
解答:
在登录验证通过后,可以使用 res.redirect() 方法将页面重定向到其他页面。
你可以尝试改成:
f (user) { res.redirect("/home"); }
当登录验证通过后,可以使用 res.redirect() 方法将页面重定向到主页面,不需要重新创建新的路由。
标签:status,username,redirect,res,user,跳转,password,页面 From: https://www.cnblogs.com/dituirenwu/p/17091018.html