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 相关文章推荐
PHPStorm 2020.1 调试 Nodejs的多种方法详解
Sep 17 NodeJs
用nodejs访问ActiveX对象,以操作Access数据库为例。
Dec 15 NodeJs
基于promise.js实现nodejs的promises库
Jul 06 NodeJs
NodeJS实现阿里大鱼短信通知发送
Jan 17 NodeJs
Highcharts+NodeJS搭建数据可视化平台示例
Jan 01 NodeJs
nodeJs链接Mysql做增删改查的简单操作
Feb 04 NodeJs
详解使用vscode+es6写nodejs服务端调试配置
Sep 21 NodeJs
nodejs结合Socket.IO实现的即时通讯功能详解
Jan 12 NodeJs
nodeJs实现基于连接池连接mysql的方法示例
Feb 10 NodeJs
nodejs异步编程基础之回调函数用法分析
Dec 26 NodeJs
NodeJS有难度的面试题(能答对几个)
Oct 09 NodeJs
使用nodeJS中的fs模块对文件及目录进行读写,删除,追加,等操作详解
Feb 06 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发送短信验证码完成注册功能
2015/11/24 PHP
thinkphp实现把数据库中的列的值存到下拉框中的方法
2017/01/20 PHP
PHP通过get方法获得form表单数据方法总结
2018/09/12 PHP
php用户名的密码加密更安全的方法
2019/06/21 PHP
thinkphp3.2框架中where条件查询用法总结
2019/08/13 PHP
JavaScript 动态将数字金额转化为中文大写金额
2009/05/14 Javascript
javascript 学习笔记(八)javascript对象
2011/04/12 Javascript
JS获取并操作iframe中元素的方法
2013/03/21 Javascript
js delete 用法(删除对象属性及变量)
2014/08/24 Javascript
JavaScript运动减速效果实例分析
2015/08/04 Javascript
javascript鼠标右键菜单自定义效果
2020/12/08 Javascript
浅谈DOCTYPE对$(window).height()取值的影响
2016/07/21 Javascript
js利用clipboardData实现截屏粘贴功能
2016/10/12 Javascript
利用transition实现文字上下抖动的效果
2017/01/21 Javascript
深入理解JavaScript中的尾调用(Tail Call)
2017/02/07 Javascript
JavaScript实现公历转农历功能示例
2017/02/13 Javascript
如何把vuejs打包出来的文件整合到springboot里
2018/07/26 Javascript
Vue实现table上下移动功能示例
2019/02/21 Javascript
微信小程序点击保存图片到本机功能
2019/12/13 Javascript
React生命周期原理与用法踩坑笔记
2020/04/28 Javascript
JavaScript中EventBus实现对象之间通信
2020/10/18 Javascript
[52:10]LGD vs Optic Supermajor小组赛D组胜者组决赛 BO3 第二场 6.3
2018/06/04 DOTA
python开发中module模块用法实例分析
2015/11/12 Python
深入理解python try异常处理机制
2016/06/01 Python
Python编程之string相关操作实例详解
2017/07/22 Python
python使用生成器实现可迭代对象
2018/03/20 Python
Python3利用Dlib19.7实现摄像头人脸识别的方法
2018/05/11 Python
python实现坦克大战游戏 附详细注释
2020/03/27 Python
详解python中*号的用法
2019/10/21 Python
工厂厂长的职责
2013/12/12 职场文书
家具公司总经理岗位职责
2014/07/08 职场文书
岗位安全生产责任书
2014/07/28 职场文书
公司领导班子对照材料
2014/08/18 职场文书
2014年乡镇妇联工作总结
2014/12/02 职场文书
毕业生就业推荐表导师评语
2014/12/31 职场文书
MySQL中使用or、in与union all在查询命令下的效率对比
2021/05/26 MySQL