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 相关文章推荐
PHPStorm 2020.1 调试 Nodejs的多种方法详解
Sep 17 NodeJs
基于 Docker 开发 NodeJS 应用
Jul 30 NodeJs
nodejs入门教程五:连接数据库的方法分析
Apr 24 NodeJs
详解nodejs异步I/O和事件循环
Jun 07 NodeJs
深入解析nodejs HTTP服务
Jul 25 NodeJs
nodejs判断文件、文件夹是否存在及删除的方法
Nov 10 NodeJs
nodejs调取微信收货地址的方法
Dec 20 NodeJs
nodejs操作mongodb的填删改查模块的制作及引入实例
Jan 02 NodeJs
nodeJs实现基于连接池连接mysql的方法示例
Feb 10 NodeJs
Nodejs调用Dll模块的方法
Sep 17 NodeJs
nodejs使用socket5进行代理请求的实现
Feb 21 NodeJs
nodejs+koa2 实现模仿springMVC框架
Oct 21 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 Session变量不能传送到下一页的解决方法
2009/11/27 PHP
php自动获取目录下的模板的代码
2010/08/08 PHP
PHP实现非阻塞模式的方法分析
2018/07/26 PHP
JavaScript 定义function的三种方式小结
2009/10/16 Javascript
jQuery操作Select的Option上下移动及移除添加等等
2013/11/18 Javascript
js的alert样式如何更改如背景颜色
2014/01/22 Javascript
javascript中with()方法的语法格式及使用
2014/08/04 Javascript
不到30行JS代码实现Excel表格的方法
2014/11/15 Javascript
2014年50个程序员最适用的免费JQuery插件
2014/12/15 Javascript
JavaScript实现对下拉列表值进行排序的方法
2015/07/15 Javascript
全面解析JavaScript里的循环方法之forEach,for-in,for-of
2020/04/20 Javascript
基于BootStrap环境写jQuery tabs插件
2016/07/12 Javascript
js智能获取浏览器版本UA信息的方法
2016/08/08 Javascript
利用jQuery插件imgAreaSelect实现图片上传裁剪(放大缩小)
2016/12/02 Javascript
一个例子轻松学会Vue.js
2017/01/02 Javascript
js中的面向对象入门
2017/03/06 Javascript
JavaScript通过改变文字透明度实现的文字闪烁效果实例
2017/04/27 Javascript
基于vue.js实现的分页
2018/03/13 Javascript
详解redis在nodejs中的应用
2018/05/02 NodeJs
浅谈Angularjs中不同类型的双向数据绑定
2018/07/16 Javascript
微信小程序云函数添加数据到数据库的方法
2020/03/04 Javascript
v-slot和slot、slot-scope之间相互替换实例
2020/09/04 Javascript
pip 错误unused-command-line-argument-hard-error-in-future解决办法
2014/06/01 Python
浅析python 中__name__ = '__main__' 的作用
2014/07/05 Python
解决python2.7用pip安装包时出现错误的问题
2017/01/23 Python
python实现折半查找和归并排序算法
2017/04/14 Python
简单了解什么是神经网络
2017/12/23 Python
Python-Tkinter Text输入内容在界面显示的实例
2019/07/12 Python
python join方法使用详解
2019/07/30 Python
Pandas把dataframe或series转换成list的方法
2020/06/14 Python
Python经典五人分鱼实例讲解
2021/01/04 Python
Python爬虫自动化获取华图和粉笔网站的错题(推荐)
2021/01/08 Python
师范生免费教育协议书范本
2014/10/09 职场文书
2015元旦家电促销活动策划方案
2014/12/09 职场文书
大学生团员个人总结
2015/02/14 职场文书
Python读取文件夹下的所有文件实例代码
2021/04/02 Python