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 相关文章推荐
Ubuntu中搭建Nodejs开发环境过程分享
Jun 01 NodeJs
Nodejs中读取中文文件编码问题、发送邮件和定时任务实例
Jan 01 NodeJs
nodejs 整合kindEditor实现图片上传
Feb 03 NodeJs
nodejs实现遍历文件夹并统计文件大小
May 28 NodeJs
基于NodeJS+MongoDB+AngularJS+Bootstrap开发书店案例分析
Jan 12 NodeJs
nodejs中全局变量的实例解析
Mar 07 NodeJs
详解nodejs中express搭建权限管理系统
Sep 15 NodeJs
nodejs结合socket.io实现websocket通信功能的方法
Jan 12 NodeJs
NodeJs实现简单的爬虫功能案例分析
Dec 05 NodeJs
nodejs实现获取本地文件夹下图片信息功能示例
Jun 22 NodeJs
如何利用nodejs自动定时发送邮件提醒(超实用)
Dec 01 NodeJs
nodejs中的异步编程知识点详解
Jan 17 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
将word转化为swf 如同百度文库般阅读实现思路及代码
2013/08/09 PHP
thinkPHP框架实现类似java过滤器的简单方法示例
2018/09/05 PHP
javascript实现动态增加删除表格行(兼容IE/FF)
2007/04/02 Javascript
js实现在字符串中提取数字
2013/11/05 Javascript
js 走马灯简单实例
2013/11/21 Javascript
如何让浏览器支持jquery ajax load 前进、后退功能
2014/06/12 Javascript
JavaScript使用yield模拟多线程的方法
2015/03/19 Javascript
快速学习AngularJs HTTP响应拦截器
2015/12/31 Javascript
在javascript中使用com组件的简单实现方法
2016/08/17 Javascript
jQuery实现的自适应焦点图效果完整实例
2016/08/24 Javascript
浅谈javascript:两种注释,声明变量,定义函数
2016/09/29 Javascript
vue router仿天猫底部导航栏功能
2017/10/18 Javascript
微信小程序实现弹出菜单功能
2018/06/12 Javascript
基于React Native 0.52实现轮播图效果
2020/08/25 Javascript
如何在postman测试用例中实现断言过程解析
2020/07/09 Javascript
js实现飞机大战游戏
2020/08/26 Javascript
python实现爬虫下载漫画示例
2014/02/16 Python
介绍Python中内置的itertools模块
2015/04/29 Python
使用Python脚本来获取Cisco设备信息的示例
2015/05/04 Python
Django基础知识 web框架的本质详解
2019/07/18 Python
基于Python的图像数据增强Data Augmentation解析
2019/08/13 Python
python中resample函数实现重采样和降采样代码
2020/02/25 Python
python中shell执行知识点
2020/05/06 Python
详解Python中list[::-1]的几种用法
2020/11/16 Python
全球知名的珠宝首饰品牌:Kay Jewelers
2018/02/11 全球购物
学校对教师的评语
2014/04/28 职场文书
学习方法演讲稿
2014/05/10 职场文书
单位委托书怎么写
2014/08/02 职场文书
先进员工获奖感言
2014/08/14 职场文书
前台岗位职责
2015/02/13 职场文书
财务人员个人工作总结
2015/02/27 职场文书
新员工试用期工作总结2015
2015/05/28 职场文书
2016新春团拜会致辞
2015/08/01 职场文书
庆祝教师节主题班会
2015/08/17 职场文书
2019年怎样才能撰写出优秀的自荐信
2019/03/25 职场文书
javascript对象3个属性特征
2021/11/17 Javascript