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开发环境配置与使用
Nov 17 NodeJs
浅析nodejs实现Websocket的数据接收与发送
Nov 19 NodeJs
Nodejs Stream 数据流使用手册
Apr 17 NodeJs
简单实现nodejs上传功能
Jan 14 NodeJs
nodejs入门教程一:概念与用法简介
Apr 24 NodeJs
Nodejs搭建wss服务器教程
May 24 NodeJs
nodejs 子进程正确的打开方式
Jul 03 NodeJs
NodeJS使用七牛云存储上传文件的方法
Jul 24 NodeJs
nodejs发送http请求时遇到404长时间未响应的解决方法
Dec 10 NodeJs
详解nodejs 配置文件处理方案
Jan 02 NodeJs
nodejs 使用http进行post或get请求的实例(携带cookie)
Jan 03 NodeJs
Nodejs实现WebSocket代码实例
May 19 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模板Smarty的初级使用方法以及心得分享
2013/06/21 PHP
php实现图片缩放功能类
2013/12/18 PHP
PHP的Laravel框架中使用消息队列queue及异步队列的方法
2016/03/21 PHP
浅析php静态方法与非静态方法的用法区别
2016/05/17 PHP
一组JS创建和操作表格的函数集合
2009/05/07 Javascript
Javascript 异步加载详解(浏览器在javascript的加载方式)
2012/05/20 Javascript
JavaScript中的Repaint和Reflow用法详解
2015/07/27 Javascript
jQuery实现多级下拉菜单jDropMenu的方法
2015/08/28 Javascript
利用HTML5的画布Canvas实现刮刮卡效果
2015/09/06 Javascript
vue音乐播放器插件vue-aplayer的配置及其使用实例详解
2017/07/10 Javascript
Angular使用Md5加密的解决方法
2017/09/16 Javascript
深入浅析Vue.js中 computed和methods不同机制
2018/03/22 Javascript
详解基于vue-cli3.0如何构建功能完善的前端架子
2018/10/09 Javascript
JS动画实现回调地狱promise的实例代码详解
2018/11/08 Javascript
原生js实现trigger方法示例代码
2019/05/22 Javascript
Nodejs实现图片上传、压缩预览、定时删除功能
2019/10/25 NodeJs
vue基于v-charts封装双向条形图的实现代码
2019/12/09 Javascript
使用JS location实现搜索框历史记录功能
2019/12/23 Javascript
JavaScript命令模式原理与用法实例详解
2020/03/10 Javascript
antd的select下拉框因为数据量太大造成卡顿的解决方式
2020/10/31 Javascript
在Python中封装GObject模块进行图形化程序编程的教程
2015/04/14 Python
python中list常用操作实例详解
2015/06/03 Python
Python 转换RGB颜色值的示例代码
2019/10/13 Python
对tensorflow中tf.nn.conv1d和layers.conv1d的区别详解
2020/02/11 Python
Python如何实现小程序 无限求和平均
2020/02/18 Python
python logging通过json文件配置的步骤
2020/04/27 Python
Django bulk_create()、update()与数据库事务的效率对比分析
2020/05/15 Python
使用Django搭建网站实现商品分页功能
2020/05/22 Python
python3中for循环踩过的坑记录
2020/12/14 Python
如何让Java程序执行效率更高
2014/06/25 面试题
六月份红领巾广播稿
2014/02/03 职场文书
《有趣的发现》教学反思
2014/04/15 职场文书
祝寿主持词
2015/07/02 职场文书
2016暑期社会实践心得体会范文
2016/01/14 职场文书
nginx前后端同域名配置的方法实现
2021/03/31 Servers
C3 线性化算法与 MRO之Python中的多继承
2021/10/05 Python