用户登录不适用于 node.js 和 mongoose

编程入门 行业动态 更新时间:2024-10-24 22:19:32
本文介绍了用户登录不适用于 node.js 和 mongoose的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

我正在尝试使用 node.js 和 mongoose 进行用户登录.用户注册成功,数据正在插入 mongodb 集合,但是当我尝试使用注册的电子邮件和密码登录时,页面显示 404 错误.

login.js

var express = require('express');var router = express.Router();/* 获取用户列表.*/router.get('/', function(req, res, next) {res.render('登录', { title: 'Express' });});router.post('/login', function(req, res, next){user.findOne({email:req.body.email}, function(err, user){如果(!用户){res.render('登录',{title:'无效'});}别的{if(req.body.password===user.password){res.render('/dashboard',{title:'成功完全登录'});}别的{res.render('登录',{title:'invalide password'});}}});});module.exports = 路由器;

login.ejs

<头><title><%=title%></title><link rel='stylesheet' href='/stylesheets/style.css'/><身体><div style="margin:0 auto ; width:50%; padding:20px"><form action="/login" method="post"><label>电子邮件</label><input type="text" name="email"><br/><br/><br/><br/><label>通过</label><input type="text" name="password"><br/><br/><br/><br/><button>登录</button></表单>

</html>

解决方案

您在路由器中指定登录页面只能通过 POST 查询访问.但是随后您将用户重定向到 /login 页面,您进行了 GET 查询,这就是您得到 404 的原因.

I am trying to user login with node.js and mongoose. User Registration is successfully working and data is inserting in mongodb collection, but when I try to login with registered email and password the page show 404 error.

login.js

var express = require('express'); var router = express.Router(); /* GET users listing. */ router.get('/', function(req, res, next) { res.render('login', { title: 'Express' }); }); router.post('/login', function(req, res, next){ user.findOne({email:req.body.email}, function(err, user){ if(!user){ res.render('login',{title:'Invalid'}); } else{ if(req.body.password===user.password){ res.render('/dashboard',{title:'Success Fully login'}); } else{ res.render('login',{title:'invalide password'}); } } }); }); module.exports = router;

login.ejs

<!DOCTYPE html> <html> <head> <title><%= title %></title> <link rel='stylesheet' href='/stylesheets/style.css' /> </head> <body> <div style="margin:0 auto ; width:50%; padding:20px"> <form action="/login" method="post"> <label>Email</label> <input type="text" name="email"> <br /> <br /> <br /> <br /> <label>Pass</label> <input type="text" name="password"> <br /> <br /> <br /> <br /> <button>Login</button> </form> </div> </body> </html>

解决方案

You specify in your router that login page can only be accessed with POST query. But then you redirect your user to /login page, you make a GET query, thats why you get 404.

更多推荐

用户登录不适用于 node.js 和 mongoose

本文发布于:2023-11-28 19:43:18,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1643709.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:用户登录   不适用于   node   js   mongoose

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!