express使用session會話


前幾周在學習nodejs基礎,發現nodejs沒有session會話變量,導致登錄注冊實現多了很多步驟。現在記錄一下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之間的請求規則,假設每次登陸,就算會話存在也重新保存一次
    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不存在,把從前面傳過來的key值賦給key
        req.session.key=key;//把key的值存在會話里,以便下次調用
    }
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM