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的10个性能优化技巧
Jul 15 NodeJs
基于NodeJS的前后端分离的思考与实践(一)全栈式开发
Sep 26 NodeJs
nodejs URL模块操作URL相关方法介绍
Mar 03 NodeJs
nodeJS代码实现计算交社保是否合适
Mar 09 NodeJs
浅析 NodeJs 的几种文件路径
Jun 07 NodeJs
详解Nodejs之npm&package.json
Jun 15 NodeJs
NodeJS自定义模块写法(详解)
Jun 27 NodeJs
nodejs后台集成ueditor富文本编辑器的实例
Jul 11 NodeJs
详解Nodejs 通过 fs.createWriteStream 保存文件
Oct 10 NodeJs
nodejs简单访问及操作mysql数据库的方法示例
Mar 15 NodeJs
nodejs中用npm初始化来创建package.json的实例讲解
Oct 10 NodeJs
NodeJS读取分析Nginx错误日志的方法
May 14 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 输出双引号"与单引号'的方法
2010/05/09 PHP
在Laravel框架里实现发送邮件实例(邮箱验证)
2016/05/20 PHP
让焦点自动跳转
2006/07/01 Javascript
用于自动添加Digg This!按钮的JavaScript
2006/12/23 Javascript
javascript写的日历类(基于pj)
2010/12/28 Javascript
jsTree 基于JQuery的排序节点 Bug
2011/07/26 Javascript
IE的有条件注释判定IE版本详解(附实例代码)
2012/01/04 Javascript
javascript在myeclipse中报错的解决方法
2013/10/29 Javascript
IE下通过a实现location.href 获取referer的值
2014/09/04 Javascript
js实现touch移动触屏滑动事件
2015/04/17 Javascript
js父页面中使用子页面的方法
2016/01/09 Javascript
JS定义类的六种方式详解
2016/05/12 Javascript
Bootstrap树形菜单插件TreeView.js使用方法详解
2016/11/01 Javascript
JavaScript中的编码和解码函数
2017/02/15 Javascript
JavaScript监听手机物理返回键的两种解决方法
2017/08/14 Javascript
react-router v4如何使用history控制路由跳转详解
2018/01/09 Javascript
微信小程序开发常见问题及解决方案
2019/07/11 Javascript
Javascript实现秒表计时游戏
2020/05/27 Javascript
在Python中使用元类的教程
2015/04/28 Python
简单介绍Python中的try和finally和with方法
2015/05/05 Python
Python列表切片用法示例
2017/04/19 Python
Tensorflow 同时载入多个模型的实例讲解
2018/07/27 Python
在Python 不同级目录之间模块的调用方法
2019/01/19 Python
Python3.4学习笔记之常用操作符,条件分支和循环用法示例
2019/03/01 Python
Python进程间通信 multiProcessing Queue队列实现详解
2019/09/23 Python
在Django下创建项目以及设置settings.py教程
2019/12/03 Python
Python如何在循环内使用list.remove()
2020/06/01 Python
pyqt5实现井字棋的示例代码
2020/12/07 Python
利用CSS3实现炫酷的飞机起飞动画
2016/09/17 HTML / CSS
HTML5网页音乐播放器的示例代码
2017/11/09 HTML / CSS
Willer台湾:日本高速巴士/夜行巴士预约
2017/07/09 全球购物
高中生的自我评价
2014/03/04 职场文书
《恐龙》教学反思
2014/04/27 职场文书
go goroutine 怎样进行错误处理
2021/07/16 Golang
nginx 配置指令之location使用详解
2022/05/25 Servers