前幾周在學(xué)習(xí)nodejs基礎(chǔ)活喊,發(fā)現(xiàn)nodejs沒有session會話變量公壤,導(dǎo)致登錄注冊實現(xiàn)多了很多步驟〕浒現(xiàn)在記錄一下express中會話變量用法
安裝express-session方法:
1倾芝、cnpm install express-session --save-dev:安裝包
2焚虱、在app.js中引入express-session:var session = require('express-session');
var session = require('express-session');/*引入會話變量*/
3骏融、因為session會話原則上是要使用cookie的链嘀,所以在app.use(cookieParser())后面添加以下代碼:
app.use(session({
secret: 'recommand 128 bytes random string', // 建議使用 128 個字符的隨機字符串
cookie: { maxAge: 20 * 60 * 1000 }, //cookie生存周期20*60秒
resave: true, //cookie之間的請求規(guī)則,假設(shè)每次登陸,就算會話存在也重新保存一次
saveUninitialized: true //強制保存未初始化的會話到存儲器
})); //這些是寫在app.js里面的
nodejs代碼:
<form class="navbar-form navbar-left" action="/users/search">
<div class="form-group">
<input type="text" class="form-control" placeholder="Search" name="key">
<input type="text" class="hidden" name="cPage" value="0">
</div>
<button type="submit" class="btn btn-default">Submit</button>
</form>
路由代碼:
router.get('/search', function(req, res, next) {
if(req.session.key){//如果會話里變量key存在档玻,把值賦給key
var key=req.session.key;
}else {
key=req.query.key;//如果會話里變量key不存在怀泊,把從前面?zhèn)鬟^來的key值賦給key
req.session.key=key;//把keyz值存在會話里,以便下次調(diào)用
}
}