这是index.js中登录的代码app.get('/login',function(req,res){res.render('login',{title:'登录'});});app.post('/login',function(req,res){//生成密码的md5值varmd5=crypto.createHash('md5'),password=md5.update(req.body.password).digest('hex');//检查用户是否存在User.get(req.body.name,function(err,user){if(!user){req.flash('error','用户不存在!');returnres.redirect('/login');//用户不存在则跳转到登录页}//检查密码是否一致if(user.password!=password){req.flash('error','密码错误!');returnres.redirect('/login');//密码错误则跳转到登录页}//用户名密码都匹配后,将用户信息存入sessionreq.session.user=user;req.flash('success','登录成功!');res.redirect('/');//登录成功后跳转到主页});但是运行后出现错误,为:Express500ReferenceError:/home/lu/node/blog/views/login.ejs:15userisnotdefineduserisnotdefinedat__line(evalat(/home/lu/node/blog/node_modules/ejs/lib/ejs.js:464:12),:14:12)ateval(evalat(/home/lu/node/blog/node_modules/ejs/lib/ejs.js:464:12),:39:9)atreturnedFn(/home/lu/node/blog/node_modules/ejs/lib/ejs.js:493:17)atView.exports.renderFile[asengine](/home/lu/node/blog/node_modules/ejs/lib/ejs.js:350:31)atView.render(/home/lu/node/blog/node_modules/express/lib/view.js:76:8)atFunction.app.render(/home/lu/node/blog/node_modules/express/lib/application.js:504:10)atServerResponse.res.render(/home/lu/node/blog/node_modules/express/lib/response.js:801:7)at/home/lu/node/blog/routes/index.js:60:7atcallbacks(/home/lu/node/blog/node_modules/express/lib/router/index.js:164:37)atparam(/home/lu/node/blog/node_modules/express/lib/router/index.js:138:11)求高人解答。。。
2 回答
喵喔喔
TA贡献1735条经验 获得超5个赞
修改代码为:app.get('/login',function(req,res){res.render('login',{title:'登录',user:req.session.user,success:req.flash('success').toString(),error:req.flash('error').toString()});
慕桂英546537
TA贡献1848条经验 获得超10个赞
要学会看报错:报错已经写得很清楚了userisnotdefined,就是说你的user没有定义,没有这个东西存在你就引用了。代码在/home/lu/node/blog/routes/index.js的60行里。
添加回答
举报
0/150
提交
取消