小电商项目实战 互动版

登陆处理


关于login视图页的post请求处理,我们需要判断用户所输入用户名是否存在,密码是否正确,并使用变量保存相应提示信息,当用户名和密码全部正确时,则返回成功并保存用户的个人信息,用作来判断用户的登陆状态,具体可参考register视图页的post请求。

login.js文件的post请求处理代码,参考如下:

app.post('/login', function (req, res) {
  var User = global.dbHelper.getModel('user'),uname = req.body.uname;
  User.findOne({name: uname}, function (error, doc) {
           if (用户不存在) {
                req.session.error = '用户名不存在!';
                res.send(404);
            } else if(用户存在,密码错误) {
                   req.session.error = "密码错误!";
                   res.send(404);
               }else{ //用户名、密码正确
                   req.session.user=doc;
                   res.send(200);
               }
            });
    });
}

还记得我们登陆的本地变量message嘛,用来保存html标签并包含相应提示信息,这里在登陆页面我们也可以使用,用法:<%- message %>,指定到相应位置即可。