我正在嘗試創建一個登錄系統并遇到一些非常奇怪的問題。
頁面代碼:
const { email, password } = req.body;
if(!email ||!password) return res.status(400).send("Missing required fields");
let user = await client.fetchUser({ username: email });
if(!user) user = await client.fetchUser({ email });
if(!user) return res.render("login.ejs", {bot:client,message:"Invalid email or password",type:"error"});
const valid = await bcrypt.compare(password, user.account.password);
if(!valid) return res.render("login.ejs", {bot:client,message:"Invalid email or password",type:"error"});
req.session.user = {
username: user.account.username,
password: user.account.password
}
return res.redirect('/dashboard');
做的時候
return res.status(200).send("Success");
有用。
我試過這樣做await req.session.save(),但這也不起作用。還進行了一些廣泛的谷歌搜索,但找不到答案。
請注意:這是一個 POST 請求。
uj5u.com熱心網友回復:
會話不會由 自動保存res.redirect。并且req.session.save()不回傳承諾,但需要回呼函式:
req.session.save(function(err) {
if (err) res.status(500).send(err);
else res.redirect("/dashboard");
});
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/489672.html
