为了账号安全,请及时绑定邮箱和手机立即绑定

node.js 问题

node.js 问题

慕神8447489 2019-04-09 20:25:08
我现在是学习这个https://github.com/nswbmw/N-blog/wiki/%E7%AC%AC1%E7%AB%A0--%E4%B8%80%E4%B8%AA%E7%AE%80%E5%8D%95%E7%9A%84%E5%8D%9A%E5%AE%A2Node.js:0.10.22+Express:3.4.4+MongoDB:2.4.8+有2个问题,在index.js下我修改后的完整代码如下:app.post('/signup',function(req,res){varusername=req.body.username,email=req.body.email,password=req.body.password,password_re=req.body['password-repeat'];//昵称不能为空if(username!=''){req.flash('error','昵称不能为空!');returnres.redirect('/signup');//返回注册页}//邮箱不能为空if(email!=''){req.flash('error','邮箱不能为空!');returnres.redirect('/signup');//返回注册页}//密码不能为空if(password!=''){req.flash('error','邮箱不能为空!');returnres.redirect('/signup');//返回注册页}//检验用户两次输入的密码是否一致if(password_re!=password){req.flash('error','两次输入的密码不一致!');returnres.redirect('/signup');//返回注册页}//生成密码的md5值varmd5=crypto.createHash('md5'),password=md5.update(req.body.password).digest('hex');varnewUser=newUser({username:req.body.username,password:password,email:req.body.email});//检查用户名是否已经存在User.get(newUser.username,function(err,user){if(user){req.flash('error','用户已存在!');returnres.redirect('/signup');//返回注册页}//如果不存在则新增用户newUser.save(function(err,user){if(err){req.flash('error',err);returnres.redirect('/signup');//注册失败返回主册页}req.session.user=user;//用户信息存入sessionreq.flash('success','注册成功!');res.redirect('/');//注册成功后返回主页});});//检查用户名是否已经存在User.get(newUser.email,function(err,user){if(user){req.flash('error','邮箱已存在!');returnres.redirect('/signup');//返回注册页}//如果不存在则新增用户newUser.save(function(err,user){if(err){req.flash('error',err);returnres.redirect('/signup');//注册失败返回主册页}req.session.user=user;//用户信息存入sessionreq.flash('success','注册成功!');res.redirect('/');//注册成功后返回主页});});});第一:其中下面代码是我新加的,是想用来判断注册不能为空,下面代码好像没用,但是我输入一个昵称后,好像就能判断了//昵称不能为空if(username!=''){req.flash('error','昵称不能为空!');returnres.redirect('/signup');//返回注册页}//邮箱不能为空if(email!=''){req.flash('error','邮箱不能为空!');returnres.redirect('/signup');//返回注册页}//密码不能为空if(password!=''){req.flash('error','邮箱不能为空!');returnres.redirect('/signup');//返回注册页}第二:我像再判断数据库是不是有邮箱了,句加了一段//检查用户名是否已经存在User.get(newUser.email,function(err,user){if(user){req.flash('error','邮箱已存在!');returnres.redirect('/signup');//返回注册页}//如果不存在则新增用户newUser.save(function(err,user){if(err){req.flash('error',err);returnres.redirect('/signup');//注册失败返回主册页}req.session.user=user;//用户信息存入sessionreq.flash('success','注册成功!');res.redirect('/');//注册成功后返回主页});});前面一个默认的,是判断昵称,这个是判断邮箱,这样新加好像不可,应该怎么加2个
查看完整描述

2 回答

?
GCT1015

TA贡献1827条经验 获得超4个赞

if(username!=''){
req.flash('error','昵称不能为空!');
returnres.redirect('/signup');//返回注册页
}
翻译下:如果昵称不为空,则报错“昵称不能为空”。
另外,nodejs是异步回调的,下一个逻辑总是要写在前一个逻辑的回调中,而不是平铺着往下写。也就是需要不断嵌套嵌套嵌套直到最后返回res.end。
                            
查看完整回答
反对 回复 2019-04-09
  • 2 回答
  • 0 关注
  • 605 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信