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 08 NodeJs
深入浅析NodeJs并发异步的回调处理
Dec 21 NodeJs
Nodejs中 npm常用命令详解
Jul 04 NodeJs
NodeJS和BootStrap分页效果的实现代码
Nov 07 NodeJs
nodejs利用http模块实现银行卡所属银行查询和骚扰电话验证示例
Dec 30 NodeJs
nodejs搭建本地服务器并访问文件的方法
Mar 03 NodeJs
Nodejs处理异常操作示例
Dec 25 NodeJs
nodejs微信开发之自动回复的实现
Mar 17 NodeJs
关于NodeJS中的循环引用详解
Jul 23 NodeJs
nodejs的安装使用与npm的介绍
Sep 11 NodeJs
nodeJs的安装与npm全局环境变量的配置详解
Jan 06 NodeJs
nodejs脚本centos开机启动实操方法
Mar 04 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
根德YB400的电路分析
2021/03/02 无线电
PHP删除非空目录的函数代码小结
2013/02/28 PHP
php正则判断是否为合法身份证号的方法
2017/03/16 PHP
php实现生成code128条形码的方法详解
2017/07/19 PHP
TextArea 控件的最大长度问题(js json)
2009/12/16 Javascript
JavaScript中使用构造器创建对象无需new的情况说明
2012/03/01 Javascript
浅析jquery某一元素重复绑定的问题
2014/01/03 Javascript
JS应用正则表达式转换大小写示例
2014/09/18 Javascript
js实现select跳转功能代码
2014/10/22 Javascript
使用Plupload实现直接上传附件至七牛云存储
2014/12/26 Javascript
jquery中EasyUI实现同步树
2015/03/01 Javascript
解决jQuery uploadify在非IE核心浏览器下无法上传
2015/08/05 Javascript
BOM系列第二篇之定时器requestAnimationFrame
2016/08/17 Javascript
jQuery EasyUI 页面加载等待及页面等待层
2017/02/06 Javascript
详解react-native-fs插件的使用以及遇到的坑
2017/09/12 Javascript
vue2.0实现音乐/视频播放进度条组件
2018/06/06 Javascript
在vue项目中promise解决回调地狱和并发请求的问题
2020/11/09 Javascript
vue实现抽屉弹窗效果
2020/11/15 Javascript
[10:04]国际邀请赛采访专栏:DK.Farseer,mouz.Black^,采访员Josh专访
2013/08/05 DOTA
python实现调用其他python脚本的方法
2014/10/05 Python
Django与遗留的数据库整合的方法指南
2015/07/24 Python
深入理解Python对Json的解析
2017/02/14 Python
python 垃圾收集机制的实例详解
2017/08/20 Python
django之导入并执行自定义的函数模块图解
2020/04/01 Python
德国网上超市:myTime.de
2019/08/26 全球购物
自荐信封面
2013/12/04 职场文书
不拖欠农民工工资承诺书
2014/03/31 职场文书
《雕塑之美》教学反思
2014/04/24 职场文书
品酒会策划方案
2014/05/26 职场文书
村主任“四风”问题个人对照检查材料思想汇报
2014/10/02 职场文书
财务经理岗位职责
2015/01/31 职场文书
庆祝教师节活动总结
2015/03/23 职场文书
劳动争议仲裁代理词
2015/05/25 职场文书
原来实习报告是这样写的呀!
2019/07/03 职场文书
MySQL表的增删改查基础教程
2021/04/07 MySQL
Html5同时支持多端sdk的小技巧
2021/11/17 HTML / CSS