这是index.js中登录的代码
app.get( '/login', function (req, res) {
res.render( 'login', { title:'登录' });
});
app.post( '/login', function (req, res) {
//生成密码的md5值
var md5 = crypto.createHash('md5'),
password = md5.update(req.body.password).digest('hex');
//检查用户是否存在
User.get(req.body.name, function (err, user) {
if (!user) {
req.flash('error','用户不存在!');
return res.redirect('/login');//用户不存在则跳转到登录页
}
//检查密码是否一致
if (user.password != password) {
req.flash('error','密码错误!');
return res.redirect('/login');//密码错误则跳转到登录页
}
//用户名密码都匹配后,将用户信息存入session
req.session.user = user;
req.flash('success','登录成功!');
res.redirect('/');//登录成功后跳转到主页
});
但是运行后出现错误,为:
Express
500 ReferenceError: /home/lu/node/blog/views/login.ejs:15<br/><br/><br/>user is not defined
user is not defined
at __line (eval at (/home/lu/node/blog/node_modules/ejs/lib/ejs.js:464:12), :14:12)
at eval (eval at (/home/lu/node/blog/node_modules/ejs/lib/ejs.js:464:12), :39:9)
at returnedFn (/home/lu/node/blog/node_modules/ejs/lib/ejs.js:493:17)
at View.exports.renderFile [as engine] (/home/lu/node/blog/node_modules/ejs/lib/ejs.js:350:31)
at View.render (/home/lu/node/blog/node_modules/express/lib/view.js:76:8)
at Function.app.render (/home/lu/node/blog/node_modules/express/lib/application.js:504:10)
at ServerResponse.res.render (/home/lu/node/blog/node_modules/express/lib/response.js:801:7)
at /home/lu/node/blog/routes/index.js:60:7
at callbacks (/home/lu/node/blog/node_modules/express/lib/router/index.js:164:37)
at param (/home/lu/node/blog/node_modules/express/lib/router/index.js:138:11)
求高人解答。。。
修改代码为: