还没找到原因。。。
9 回复
你好,我也碰到了这个问题,改成<% if (!locals.user) { %>确实不会报错了,但是好像这个永远为真,我想问的是 req.session.user = user; session里的user和这个有何种关系?
我也遇到了一样的问题,而且报错的位置很奇怪: ReferenceError: /Users/windrunner/WebstormProjects/microblog/views/index.ejs:13 11|
12|
16|
13|
div1
14|p1
15|
这个方法不能解决,附index.js代码如下:
var User = require(‘…/models/user’);
module.exports = function(app){ app.get('/’, function(req, res){ res.render('index’, { title: ‘首页’ }) });
app.get('/reg', function(req, res){
res.render('reg',{
title: '用户注册'
});
});
//var util = require('util');
app.post('/reg', function(req, res){
//校验两次输入的口令是否一致
if (req.body['password-repeat'] != req.body['password']){
req.fresh('error', '两次输入的密码不一致');
return res.redirect('/reg');
}
var crypto = require('crypto');
var crypto = require('crypto');
//生成md5散列值
var md5 = crypto.createHash('md5');
var password = md5.update(req.body.password).digest('base64');
var newUser = new User({
name: req.body.username,
password: password
});
User.get(newUser.name, function(error, user){
if(user){
error = 'Username already exsits.';
}
if(error){
req.flash('error', error);
return res.redirect('reg');
}
//如果不存在则新增用户
newUser.save(function (error){
if(error){
req.flash('error', error);
return res.redirect('req');
}
req.session.user =new User;
req.flash('success', '注册成功');
res.redirect('/');
})
});
});
};
回到顶部