前几周在学习nodejs基础,发现nodejs没有session会话变量,致使登陆注册实现多了不少步骤。如今记录一下express中会话变量用法
安装express-session方法:
一、cnpm install express-session --save-dev:安装包
二、在app.js中引入express-session:var session = require('express-session');node
var session = require('express-session');/*引入会话变量*/
三、由于session会话原则上是要使用cookie的,因此在app.use(cookieParser())后面添加如下代码:express
app.use(session({ secret: 'recommand 128 bytes random string', // 建议使用 128 个字符的随机字符串 cookie: { maxAge: 20 * 60 * 1000 }, //cookie生存周期20*60秒 resave: true, //cookie之间的请求规则,假设每次登录,就算会话存在也从新保存一次 saveUninitialized: true //强制保存未初始化的会话到存储器 })); //这些是写在app.js里面的
nodejs代码:npm
<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>
路由代码:cookie
router.get('/search', function(req, res, next) { if(req.session.key){//若是会话里变量key存在,把值赋给key var key=req.session.key; }else { key=req.query.key;//若是会话里变量key不存在,把从前面传过来的key值赋给key req.session.key=key;//把key的值存在会话里,以便下次调用 } }