前幾周在學習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的值存在會話裏,以便下次調用 } }