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调用cmd命令实现复制目录
May 04 NodeJs
详解nodejs 文本操作模块-fs模块(四)
Dec 22 NodeJs
详解nodeJS之二进制buffer对象
Jun 03 NodeJs
浅析 NodeJs 的几种文件路径
Jun 07 NodeJs
详解nodejs实现本地上传图片并预览功能(express4.0+)
Jun 28 NodeJs
Nodejs实现文件上传的示例代码
Sep 26 NodeJs
nodejs+mongodb+vue前后台配置ueditor的示例代码
Jan 02 NodeJs
nodejs基于mssql模块连接sqlserver数据库的简单封装操作示例
Jan 05 NodeJs
nodeJs实现基于连接池连接mysql的方法示例
Feb 10 NodeJs
Nodejs实现的操作MongoDB数据库功能完整示例
Feb 02 NodeJs
nodejs环境使用Typeorm连接查询Oracle数据
Dec 05 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
模仿OSO的论坛(四)
2006/10/09 PHP
fgetcvs在linux的问题
2012/01/15 PHP
PHP生成不同颜色、不同大小的tag标签函数
2013/09/23 PHP
ThinkPHP之R方法实例详解
2014/06/20 PHP
php精确的统计在线人数的方法
2015/10/21 PHP
jQuery代码优化 选择符篇
2011/11/01 Javascript
JS 各种网页尺寸判断实例方法
2013/04/18 Javascript
JS表的模拟方法
2015/02/05 Javascript
jQuery处理图片加载失败的常用方法
2015/06/08 Javascript
jQuery Mobile 触摸事件实例
2016/06/04 Javascript
JQuery EasyUI学习教程之datagrid 添加、修改、删除操作
2016/07/09 Javascript
js实现的简练高效拖拽功能示例
2016/12/21 Javascript
javascript 中Cookie读、写与删除操作
2017/03/29 Javascript
Windows下快速搭建NodeJS本地服务器的步骤
2017/08/09 NodeJs
微信小程序onShareTimeline()实现分享朋友圈
2021/01/07 Javascript
python任务调度实例分析
2015/05/19 Python
Python处理json字符串转化为字典的简单实现
2016/07/07 Python
详解python之多进程和进程池(Processing库)
2017/06/09 Python
python机器学习之神经网络(三)
2017/12/20 Python
Flask框架使用DBUtils模块连接数据库操作示例
2018/07/20 Python
python调用pyaudio使用麦克风录制wav声音文件的教程
2019/06/26 Python
Python While循环语句实例演示及原理解析
2020/01/03 Python
python爬虫开发之使用Python爬虫库requests多线程抓取猫眼电影TOP100实例
2020/03/10 Python
python如何写出表白程序
2020/06/01 Python
html5 Canvas画图教程(10)—把面拆成线条模拟出圆角矩形
2013/01/09 HTML / CSS
如何在Canvas中添加事件的方法示例
2019/05/21 HTML / CSS
美赞臣新加坡官方旗舰店:Enfagrow新加坡
2019/05/15 全球购物
意大利领先的奢侈品在线时装零售商:MCLABELS
2020/10/13 全球购物
什么是跨站脚本攻击
2014/12/11 面试题
《这儿真好》教学反思
2014/02/22 职场文书
2014年度安全工作总结
2014/12/04 职场文书
国家助学金感谢信
2015/01/21 职场文书
2015年乡镇财政工作总结
2015/05/19 职场文书
升学宴家长答谢词
2015/09/29 职场文书
Python 文字识别
2022/05/11 Python
使用scrapy实现增量式爬取方式
2022/06/21 Python