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 相关文章推荐
Windows系统中安装nodejs图文教程
Feb 28 NodeJs
nodejs爬虫抓取数据之编码问题
Jul 03 NodeJs
NodeJS实现微信公众号关注后自动回复功能
May 31 NodeJs
详解nodeJS之路径PATH模块
May 31 NodeJs
nodejs构建本地web测试服务器 如何解决访问静态资源问题
Jul 14 NodeJs
nodejs 最新版安装npm 的使用详解
Jan 18 NodeJs
nodejs 简单实现动态html的方法
May 12 NodeJs
NodeJs搭建本地服务器之使用手机访问的实例讲解
May 12 NodeJs
nodejs实现一个word文档解析器思路详解
Aug 14 NodeJs
NodeJS读取分析Nginx错误日志的方法
May 14 NodeJs
nodejs实现用户登录路由功能
May 22 NodeJs
nodeJs项目在阿里云的简单部署
Nov 27 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 ci框架验证码实例分析
2013/06/26 PHP
php mysql procedure实现获取多个结果集的方法【基于thinkPHP】
2016/11/09 PHP
PHP call_user_func和call_user_func_array函数的简单理解与应用分析
2019/11/25 PHP
二级域名转向类
2006/11/09 Javascript
js函数使用技巧之 setTimeout(function(){},0)
2009/02/09 Javascript
InnerHtml和InnerText的区别分析
2009/03/13 Javascript
JS 获取select(多选下拉)中所选值的示例代码
2013/08/02 Javascript
JavaScript实现单击下拉框选择直接跳转页面的方法
2015/07/02 Javascript
JS实现自定义简单网页软键盘效果代码
2015/11/05 Javascript
在AngularJS框架中处理数据建模的方式解析
2016/03/05 Javascript
jquery mobile 实现自定义confirm确认框效果的简单实例
2016/06/17 Javascript
浅析Node.js:DNS模块的使用
2016/11/23 Javascript
原生js实现放大镜效果
2017/01/11 Javascript
jQuery实现简单弹窗遮罩效果
2017/02/27 Javascript
vue element-ui table表格滚动加载方法
2018/03/02 Javascript
详解如何用babel转换es6的class语法
2018/04/03 Javascript
webpack分离css单独打包的方法
2018/06/12 Javascript
Vue的watch和computed方法的使用及区别介绍
2018/09/06 Javascript
在vue 中使用 less的教程详解
2018/09/26 Javascript
[00:52]DOTA2国际邀请赛
2020/02/21 DOTA
Ubuntu 16.04 LTS中源码安装Python 3.6.0的方法教程
2016/12/27 Python
Python实现两个list对应元素相减操作示例
2017/06/09 Python
python内置函数:lambda、map、filter简单介绍
2017/11/16 Python
Python各类图像库的图片读写方式总结(推荐)
2018/02/23 Python
python request 模块详细介绍
2020/11/10 Python
python3处理word文档实例分析
2020/12/01 Python
印度尼西亚最好的小工具在线商店:Erafone.com
2019/03/26 全球购物
《大自然的语言》教学反思
2014/04/08 职场文书
目标责任书范文
2014/04/14 职场文书
中国梦我的梦演讲稿
2014/04/23 职场文书
大学专科求职信
2014/07/02 职场文书
2015年财务部工作总结
2015/04/10 职场文书
党员心得体会范文2016
2016/01/23 职场文书
红灯733-1型14管5波段半导体收音机
2021/04/22 无线电
gojs实现蚂蚁线动画效果
2022/02/18 Javascript
python如何将mat文件转为png
2022/07/15 Python