Javascript 我的用户注册数据为';t传递到登录路由

Javascript 我的用户注册数据为';t传递到登录路由,javascript,node.js,mongodb,express,bcrypt,Javascript,Node.js,Mongodb,Express,Bcrypt,usersRouter.post('/register',checkNotAuthenticated,async(req,res)=>{ 控制台日志(请求正文) const salt=wait bcrypt.genSalt(); const hashedPassword=await bcrypt.hash(req.body.password,salt); const user=新用户({ 名称:req.body.name, 电子邮件:req.body.email, 密码:hashedPasswo

usersRouter.post('/register',checkNotAuthenticated,async(req,res)=>{
控制台日志(请求正文)
const salt=wait bcrypt.genSalt();
const hashedPassword=await bcrypt.hash(req.body.password,salt);
const user=新用户({
名称:req.body.name,
电子邮件:req.body.email,
密码:hashedPassword
})
试一试{
等待user.save();
res.redirect(201,../users/login')/*200表示已接受状态,201表示已创建资源*/
}抓住{
res.redirect(500,“用户/寄存器”)/*内部服务器错误*/
}
});
usersRouter.post('/login',异步(req,res)=>{
const user=wait user.find({email:req.body.email})
console.log(用户)
如果(!user){
return res.send('用户不存在')
} 
试一试{
如果(!wait bcrypt.compare(req.body.password,user.password)){
返回res.status(401).send('password failed')/*用户未经授权*/
}否则{
返回res.status(200).send('password validated');
}
}捕捉(错误){
res.send(错误消息)
}

})
从技术上讲,您可以执行307重定向,它将强制向新URL发出相同的请求。但是,为什么注册后要重定向到“/users/login”?您知道登录将起作用,因为您正在传递相同的用户名/密码。那么,你为什么不能用注册的方式登录用户?@MarkS。好的,但是登录页面仍然不工作,即使我将用户重定向到注册中的主页。对吗?你说的“不工作”是什么意思?在307之后是否未将正文发送到/login路径?登录页面上是否未显示数据?@MarkS。如果我在/register路由中写入res.redirect(307,../users/login),我将无法访问/login,收到以下消息:非法参数:string,未定义重定向应为“/users/login”,因为这是您要访问的url