zoukankan      html  css  js  c++  java
  • 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的值存在会话里,以便下次调用
        }
    }
    
  • 相关阅读:
    Kattis
    Kattis
    Kattis
    Kattis -Backspace
    Kattis
    Kattis
    Kattis
    Hihocoder1061-Beautiful String
    Hihocoder1350-Binary Watch
    Hihocoder1458-Parentheses Matching(stack,vector)
  • 原文地址:https://www.cnblogs.com/xyyl/p/11033087.html
Copyright © 2011-2022 走看看