我正在为nodejs使用express 3框架。我正在尝试设置会话,这是我的代码
var express = require('express');
var app = express();
var parseExpressCookieSession = require('parse-express-cookie-session');
var parseExpressHttpsRedirect = require('parse-express-https-redirect');
app.use(express.cookieParser());
app.use(parseExpressCookieSession({
secret: "The very sweet secret"
}));
app.use(app.router);
app.get('/login', function (req, res) {
req.session.uid = "dssss"
console.log(req.session.uid);
res.render('login', {
title: 'Login'
});
})
我得到的错误是无法设置未定义的'uid'的属性。我在这做错了什么?
答案 0 :(得分:0)
您可以添加快速会话模块,并在此处查看:https://github.com/expressjs/session
来自文档:
req.session
要存储或访问会话数据,只需使用request属性即可 req.session,由商店(通常)序列化为JSON,所以 嵌套对象通常很好。例如下面是一个 用户特定的视图计数器:
app.use(session({ secret: 'keyboard cat', cookie: { maxAge: 60000 }}))
app.use(function(req, res, next) {
var sess = req.session
if (sess.views) {
sess.views++
res.setHeader('Content-Type', 'text/html')
res.write('<p>views: ' + sess.views + '</p>')
res.write('<p>expires in: ' + (sess.cookie.maxAge / 1000) + 's</p>')
res.end()
} else {
sess.views = 1
res.end('welcome to the session demo. refresh!')
}
})