TypeError:无法设置属性'用户'的未定义
TypeError: Cannot set property 'user' of undefined at
当我在在线服务器上加载网站时,我的网站上出现了以下错误。我使用express 3.x,第一个url没有问题,但我确实登录了,错误是
TypeError:无法在上设置未定义的属性"user"
我的代码是:
server.engine('html', swig.renderFile);
server.set('view engine', 'html');
server.set('views', './app/views');
server.configure(function() {
server.use(express.logger());
server.use(express.cookieParser());
server.use(express.bodyParser());
server.use(express.session({
secret: "lolcatz",
store: new RedisStore({})
}));
});
server.get('/', function (req, res){
res.render('home');
});
server.get('/app', function (req, res) {
res.render('app', {
user: req.session.user
});
});
server.post('/log-in', function (req, res) {
req.session.user = req.body.username;
res.redirect('/app');
});
server.listen(3000);
请说明您的问题发生的软件版本。有时版本也是问题所在,我想这次也是。
首先,错误的发生完全是因为req.session.user = req.body.username;
这意味着您没有正确设置
server.use(express.session({
secret: "lolcatz",
store: new RedisStore({})
}));
尽管上面的代码应该可以工作。所以我假设您使用的是express 4.0,并继续使用server.configure
函数。由于express版本3.x中的app.config在express版本4.0中被删除,上述代码在express 4.0 中不起作用
所以只需删除函数,使其类似。。。
server.use(express.logger());
server.use(express.cookieParser());
server.use(express.bodyParser());
server.use(express.session({
secret: "lolcatz",
store: new RedisStore({})
}));
server.get('/', function (req, res){
res.render('home');
相关文章:
- 浏览并选择用户硬盘驱动器中的文件在IE中未定义
- 如何删除未定义的对象错误并根据位置重定向用户
- 在尝试检索经过身份验证的Google+用户的电子邮件地址时获取“gapi.client未定义”
- 我收到一个错误:类型错误:在使用解析 API 更新用户对象时未定义 e.changes.如何解决这个问题
- 带有护照的节点:比较密码抛出错误未定义不是一个函数,当它返回返回完成(null,用户);
- 用户更改输入后,表单字段仍未定义
- 访问数据时未定义流星用户
- fb.api 在连接的用户上返回“未定义”
- 访问Passport'React(ES6)中的用户需求?API调用将req.user返回为未定义
- 来自文本框和单选按钮的用户输入在警报中重复,显示未定义
- 用户:索引未定义
- TypeError:无法设置属性'用户'的未定义
- 未捕获引用错误:<我的用户脚本定义的函数>未定义
- 要求的事情.当试图从API方法获取用户时,用户是未定义的
- parse.com引用错误:用户未定义
- 流星userId存在,但用户未定义
- 使用电子邮件和密码创建用户,返回值未定义的非空用户
- 要求的事情.使用google-passport-oauth登录后,用户未定义
- TrackerReact 容器 - 用户设置了 profile.avatar ,但控制台说它未定义
- 未捕获的引用错误: 未定义注册用户帐户