nodejs使用express获取get和post传值及session验证的方法


Posted in NodeJs onNovember 09, 2017

本文实例讲述了nodejs使用express获取get和post传值及session验证的方法。分享给大家供大家参考,具体如下:

获取get和post传值

get的传值被放入了一个对象中

req.query

post的传值被放入了

req.body

获取方式如获取对象的内容方式一样。比如,前面传入了一个id的值,nodejs获取就可以req.body.id即可

express的session验证

第一步安装cookie和session的模块,并引入

var session = require('express-session');
var cookieParser = require('cookie-parser');

第二部,express应用cookie和session

app.use(cookieParser());
app.use(session({
  resave: true, // don't save session if unmodified
  saveUninitialized: false, // don't create session until something stored
  secret: 'admin', //密钥
  name: 'testapp', //这里的name值得是cookie的name,默认cookie的name是:connect.sid
  cookie: {
    maxAge: 80000
  } //设置maxAge是80000ms,即80s后session和相应的cookie失效过期
}));

第三步,在请求时,拦截处理

app.use(function(req, res, next) {
  if (!req.session.user) {
    if (req.url == "/login") {
      next(); //如果请求的地址是登录则通过,进行下一个请求
    } else {
      res.redirect('/login');//跳转到登录页面
    }
  } else if (req.session.user) {
    next();//如果已经登录,则可以进入
  }
});

现在访问页面如果没有登录,会自动将路由指向/login页面,最后一步就是在路由里面处理了

app.get('/login', function(req, res) {
  res.render("login");
});
app.post('/login', function(req, res) {
  if (req.body) {//判断时候有传值
    var user = {
      'username': req.body.username//获取用户名并赋值,这里之前可以自己做判断
    };
    req.session.user = user;//赋值session,自动跳转页面
    res.redirect('/admin');
  } else {
    res.redirect('/login');
  }
});
app.get('/logout', function(req, res) {//做的登出页面
  req.session.user = null;
  res.redirect('/login');
});

希望本文所述对大家nodejs程序设计有所帮助。

NodeJs 相关文章推荐
nodejs中转换URL字符串与查询字符串详解
Nov 26 NodeJs
轻松创建nodejs服务器(3):代码模块化
Dec 18 NodeJs
nodejs实现HTTPS发起POST请求
Apr 23 NodeJs
nodejs修复ipa处理过的png图片
Feb 17 NodeJs
用nodejs的实现原理和搭建服务器(动态)
Aug 10 NodeJs
NodeJs的优势和适合开发的程序
Aug 14 NodeJs
浅谈Nodejs应用主文件index.js
Aug 28 NodeJs
nodejs 实现钉钉ISV接入的加密解密方法
Jan 16 NodeJs
Nodejs多站点切换Htpps协议详解及简单实例
Feb 23 NodeJs
nodejs中模块定义实例详解
Mar 18 NodeJs
nodejs body-parser 解析post数据实例
Jul 26 NodeJs
详解Nodejs 通过 fs.createWriteStream 保存文件
Oct 10 NodeJs
nodejs操作mongodb的增删改查功能实例
Nov 09 #NodeJs
nodejs中art-template模板语法的引入及冲突解决方案
Nov 07 #NodeJs
Mac 安装 nodejs方法(图文详细步骤)
Oct 30 #NodeJs
浅谈NodeJs之数据库异常处理
Oct 25 #NodeJs
详解使用PM2管理nodejs进程
Oct 24 #NodeJs
nodejs中安装ghost出错的原因及解决方法
Oct 23 #NodeJs
详解Nodejs 通过 fs.createWriteStream 保存文件
Oct 10 #NodeJs
You might like
PHP计数器的实现代码
2013/06/08 PHP
php判断电脑访问、手机访问的例子
2014/05/10 PHP
PHP获取一个字符串中间一部分字符的方法
2014/08/19 PHP
深入讲解PHP的Yii框架中的属性(Property)
2016/03/18 PHP
PHP实现适用于文件内容操作的分页类
2016/06/15 PHP
CI框架使用composer安装的依赖包步骤与方法分析
2016/11/21 PHP
PHP实现简易计算器功能
2020/08/28 PHP
PHP实现字符串的全排列详解
2019/04/24 PHP
PHP创建对象的六种方式实例总结
2019/06/27 PHP
文件编码导致jquery失效的解决方法
2013/06/26 Javascript
动态加载JavaScript文件的两种方法
2016/04/22 Javascript
需要牢记的JavaScript基础知识
2016/09/25 Javascript
easy ui datagrid 从编辑框中获取值的方法
2017/02/22 Javascript
JS实现线性表的顺序表示方法示例【经典数据结构】
2017/04/11 Javascript
打字效果动画的4种实现方法(超简单)
2017/10/18 Javascript
JavaScript实现百度搜索框效果
2020/03/26 Javascript
javaScript实现游戏倒计时功能
2018/11/17 Javascript
详解关于JSON.parse()和JSON.stringify()的性能小测试
2019/03/14 Javascript
详解ES6数组方法find()、findIndex()的总结
2020/05/12 Javascript
python 查找文件夹下所有文件 实现代码
2009/07/01 Python
对Python 网络设备巡检脚本的实例讲解
2018/04/22 Python
对python自动生成接口测试的示例讲解
2018/11/30 Python
详解10个可以快速用Python进行数据分析的小技巧
2019/06/24 Python
Django对接支付宝实现支付宝充值金币功能示例
2019/12/17 Python
Python使用QQ邮箱发送邮件报错smtplib.SMTPAuthenticationError
2019/12/20 Python
Python基于QQ邮箱实现SSL发送
2020/04/26 Python
django 解决自定义序列化返回处理数据为null的问题
2020/05/20 Python
python 图像判断,清晰度(明暗),彩色与黑白实例
2020/06/04 Python
使用python把xmind转换成excel测试用例的实现代码
2020/10/12 Python
洛杉矶健身中心女性专用运动服饰品牌:Marika
2018/05/09 全球购物
电气工程和自动化自荐信范文
2013/12/25 职场文书
中药专业自荐信范文
2014/03/18 职场文书
婚宴来宾致辞
2015/07/28 职场文书
HR必备:销售经理聘用合同范本
2019/08/21 职场文书
解决Pytorch修改预训练模型时遇到key不匹配的情况
2021/06/05 Python
一起来学习Python的元组和列表
2022/03/13 Python