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的前后端分离的思考与实践(三)轻量级的接口配置建模框架
Sep 26 NodeJs
Nodejs实现的一个静态服务器实例
Dec 06 NodeJs
nodejs URL模块操作URL相关方法介绍
Mar 03 NodeJs
nodejs中的fiber(纤程)库详解
Mar 24 NodeJs
nodejs修复ipa处理过的png图片
Feb 17 NodeJs
图片上传之FileAPI与NodeJs
Jan 24 NodeJs
基于nodejs 的多页面爬虫实例代码
May 31 NodeJs
NodeJS 实现手机短信验证模块阿里大于功能
Jun 19 NodeJs
nodejs+mongodb+vue前后台配置ueditor的示例代码
Jan 02 NodeJs
nodejs 使用nodejs-websocket模块实现点对点实时通讯
Nov 28 NodeJs
NodeJs crypto加密制作token的实现代码
Nov 15 NodeJs
Nodejs 微信小程序消息推送的实现
Jan 20 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实时显示输出
2008/10/02 PHP
php _autoload自动加载类与机制分析
2012/02/10 PHP
Linux下编译redis和phpredis的方法
2016/04/07 PHP
php基于PDO连接MSSQL示例DEMO
2016/07/13 PHP
jQuery一步一步实现跨浏览器的可编辑表格,支持IE、Firefox、Safari、Chrome、Opera
2009/08/28 Javascript
jQuery帮助之筛选查找 children([expr])
2011/01/31 Javascript
struts2+jquery+json实现异步加载数据(自写)
2013/06/24 Javascript
JS实现金额转换(将输入的阿拉伯数字)转换成中文的实现代码
2013/09/30 Javascript
改变文件域的样式实现思路同时兼容ie、firefox
2013/10/23 Javascript
js实现分享到随页面滚动而滑动效果的方法
2015/04/10 Javascript
常用原生JS兼容性写法汇总
2016/04/27 Javascript
JavaScript Math 对象常用方法总结
2016/04/28 Javascript
JavaScript实现同一个页面打开多张图片
2016/12/29 Javascript
关于jQuery EasyUI 中刷新Tab选项卡后一个页面变形的解决方法
2017/03/02 Javascript
Vue-Access-Control 前端用户权限控制解决方案
2017/12/01 Javascript
微信小程序实现MUI数字输入框效果
2018/01/31 Javascript
Vue 组件封装 并使用 NPM 发布的教程
2018/09/30 Javascript
python表格存取的方法
2018/03/07 Python
在python中实现将一张图片剪切成四份的方法
2018/12/05 Python
python处理两种分隔符的数据集方法
2018/12/12 Python
Python修改文件往指定行插入内容的实例
2019/01/30 Python
使用pandas的box_plot去除异常值
2019/12/10 Python
深度学习入门之Pytorch 数据增强的实现
2020/02/26 Python
python使用scapy模块实现ARP扫描的过程
2021/01/21 Python
挪威户外活动服装和装备购物网站:Bergfreunde挪威
2016/10/20 全球购物
德国传统玻璃制造商:Cristalica
2018/04/23 全球购物
印尼综合在线预订网站:Tiket.com(机票、酒店、火车、租车和娱乐)
2018/10/11 全球购物
static关键字的用法
2013/10/07 面试题
董事长助理工作职责范本
2014/07/01 职场文书
街道党工委党的群众路线教育实践活动对照检查材料思想汇报
2014/10/05 职场文书
2014年信息宣传工作总结
2014/12/18 职场文书
2014年学生管理工作总结
2014/12/20 职场文书
2015年母亲节活动总结
2015/02/10 职场文书
2015新学期开学寄语
2015/02/26 职场文书
国王的演讲观后感
2015/06/03 职场文书
Springboot集成阿里云OSS上传文件系统教程
2021/06/28 Java/Android