nodejs body-parser 解析post数据实例


Posted in NodeJs onJuly 26, 2017

安装

$ npm install body-parser

API

var bodyPaeser =require('body-parser')

可以通过body-parser 对象创建中间件,当接收到客户端请求时所有的中间件都会给req.body 添加属性,请求体为空,则解析为空{} (或者出现错误)。

bodyParser.json(options)

中间件只会解析 json ,允许请求提任意Unicode编码支持 gzip 和 deflate 编码。

options

一个对象,有以下属性

inflate

默认为false,true->压缩的请求体会被解压,false->压缩的请求提不被解压。

limit

控制请求体最大大小,默认为100kb,当为数字时会转换为bytes,当为字符串时,value值会通过 bytes库 转换为字节大小。

reviver

此选项会通过JSON.parse直接传给其第二个参数。

strict

默认为true,当为true时只接受数组和对象,当为false时会接受任何JSON.parse 能接受的。

type

type 选项用来决定中间件要解析媒体类型。选项可以是一个函数或者是字符串。当为字符串时,可以直接通过type-is 库直接传递给选项,字符串也可以为一个扩展名(例如json)、mime 类型(application/json、/ 、*/json)。当为函数时:默认为application/json。

verify

verify选项,若缺失则为一个函数function(req,res,buf,encoding),buf为一个Buffer。

bodyParse.raw(option)

将请求体内容作为Buffer来处理,并返回。支持gzip deflate 压缩。

inflate

limit

type

verify

bodyParser.text(option)

将请求提内容作为字符串来处理,并返回。支持gzip deflate 压缩。

defaultCharset

若请求头未设置Content-Type则默认为utf8

inflate

type

verify

bodyParser.urlencoded(option)

中间件只解析urlencoded 请求体,并返回,只支持UTF-8编号文本,支持gzip deflate 压缩。

extend

ture->使用queryString库(默认) false->使用qs库。

limit

parameterlimit

指定parameters最长长度,默认1000

type

verify

举例:

const express=require('express');
const bodyParser=require('body-parser');

var server=express();
server.listen(8080);

server.use(bodyParser.urlencoded({
 extended: false,         //扩展模式
 limit:  2*1024*1024      //限制-2M
}));

server.use('/', function (req, res){
 console.log(req.body); //POST
 //req.query  GET
 //req.body  POST
});

html代码:

<form action="http://localhost:8080" method="post">
   用户:<input type="text" name="user" /><br>
   密码:<input type="password" name="pass" /><br>
<input type="submit" value="提交" >

以上这篇nodejs body-parser 解析post数据实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

NodeJs 相关文章推荐
NodeJS使用formidable实现文件上传
Oct 27 NodeJs
详解nodejs 文本操作模块-fs模块(一)
Dec 22 NodeJs
NodeJs安装npm包一直失败的解决方法
Apr 28 NodeJs
Nodejs回调加超时限制两种实现方法
Jun 09 NodeJs
NodeJS安装图文教程
Apr 19 NodeJs
nodejs读取并去重excel文件
Apr 22 NodeJs
nodejs 生成和导出 word的实例代码
Jul 31 NodeJs
nodejs基础之常用工具模块util用法分析
Dec 26 NodeJs
Nodejs让异步变成同步的方法
Mar 02 NodeJs
nodejs中使用archive压缩文件的实现代码
Nov 26 NodeJs
nodejs nedb 封装库与使用方法示例
Feb 06 NodeJs
Nodejs环境实现socket通信过程解析
Jul 03 NodeJs
深入解析nodejs HTTP服务
Jul 25 #NodeJs
NodeJS使用七牛云存储上传文件的方法
Jul 24 #NodeJs
nodejs 搭建简易服务器的图文教程(推荐)
Jul 18 #NodeJs
nodejs密码加密中生成随机数的实例代码
Jul 17 #NodeJs
nodejs构建本地web测试服务器 如何解决访问静态资源问题
Jul 14 #NodeJs
基于nodejs+express4.X实现文件下载的实例代码
Jul 13 #NodeJs
详解nodejs的express如何自动生成项目框架
Jul 12 #NodeJs
You might like
php递归函数中使用return的注意事项
2014/01/17 PHP
php可应用于面包屑导航的递归寻找家谱树实现方法
2015/02/02 PHP
php实现获取文件mime类型的方法
2015/02/11 PHP
php使用PDO执行SQL语句的方法分析
2017/02/16 PHP
php实现的AES加密类定义与用法示例
2018/01/29 PHP
如何运行/调试你的PHP代码
2020/10/23 PHP
JavaScript中Array 对象相关的几个方法
2006/12/22 Javascript
javascript新手语法小结
2008/06/15 Javascript
js中关于String对象的replace使用详解
2011/05/24 Javascript
jquery连缀语法如何实现
2012/11/29 Javascript
js网页中的(运行代码)功能实现思路
2013/02/04 Javascript
javascript判断非数字的简单例子
2013/07/18 Javascript
js实现网页收藏功能
2015/12/17 Javascript
ionic开发中点击input时键盘自动弹出
2016/12/23 Javascript
vue.js 左侧二级菜单显示与隐藏切换的实例代码
2017/05/23 Javascript
vue 监听某个div垂直滚动条下拉到底部的方法
2018/09/15 Javascript
微信小程序实现简单表格
2019/02/14 Javascript
layui 弹出层回调获取弹出层数据的例子
2019/09/02 Javascript
vue 实现强制类型转换 数字类型转为字符串
2019/11/07 Javascript
用Python写一段用户登录的程序代码
2018/04/22 Python
python获取微信小程序手机号并绑定遇到的坑
2018/11/19 Python
Python寻找两个有序数组的中位数实例详解
2018/12/05 Python
Python中logging实例讲解
2019/01/17 Python
django settings.py 配置文件及介绍
2019/07/15 Python
树莓派使用python-librtmp实现rtmp推流h264的方法
2019/07/22 Python
Django urls.py重构及参数传递详解
2019/07/23 Python
Python使用百度api做人脸对比的方法
2019/08/28 Python
HTML5+CSS3实现拖放(Drag and Drop)示例
2014/07/07 HTML / CSS
意大利中国电子产品购物网站:Geekmall.com
2019/09/30 全球购物
党员群众路线承诺书
2014/05/20 职场文书
大学生应聘求职信
2014/05/26 职场文书
房屋买卖委托书格式范本格式
2014/10/13 职场文书
2014年医药代表工作总结
2014/11/22 职场文书
学校艾滋病宣传活动总结
2015/05/09 职场文书
2015年大学学生会工作总结
2015/05/13 职场文书
会议开幕致辞怎么写
2016/03/03 职场文书