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连接MongoDB数据库时报错的快速解决方法
May 13 NodeJs
nodejs 实现钉钉ISV接入的加密解密方法
Jan 16 NodeJs
nodejs入门教程六:express模块用法示例
Apr 24 NodeJs
Nodejs连接mysql并实现增、删、改、查操作的方法详解
Jan 04 NodeJs
对mac下nodejs 更新到最新版本的最新方法(推荐)
May 17 NodeJs
CentOS7中源码编译安装NodeJS的完整步骤
Oct 13 NodeJs
NodeJS 将文件夹按照存放路径变成一个对应的JSON的方法
Oct 17 NodeJs
使用koa-log4管理nodeJs日志笔记的使用方法
Nov 30 NodeJs
Nodejs核心模块之net和http的使用详解
Apr 02 NodeJs
M2实现Nodejs项目自动部署的方法步骤
May 05 NodeJs
Nodejs实现图片上传、压缩预览、定时删除功能
Oct 25 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与C#的值类型指向区别的详解
2013/05/21 PHP
laravel框架模型中非静态方法也能静态调用的原理分析
2019/11/23 PHP
用JAVASCRIPT如何给&amp;lt;textarea&amp;gt;&amp;lt;/textarea&amp;gt;赋值
2007/04/20 Javascript
js 表单验证方法(实用)
2009/04/28 Javascript
jQuery学习笔记之jQuery的DOM操作
2010/12/22 Javascript
JS格式化数字保留两位小数点示例代码
2013/10/15 Javascript
浅谈javascript中自定义模版
2015/01/29 Javascript
iPhone手机上搭建nodejs服务器步骤方法
2015/07/06 NodeJs
jquery合并表格中相同文本的相邻单元格
2015/07/17 Javascript
jQuery实现智能判断固定导航条或侧边栏的方法
2016/09/04 Javascript
JavaScript的事件机制详解
2017/01/17 Javascript
JavaScript中的toString()和toLocaleString()方法的区别
2017/02/15 Javascript
js实现上传图片并显示图片名称
2019/12/18 Javascript
深入webpack打包原理及loader和plugin的实现
2020/05/06 Javascript
[01:16:12]完美世界DOTA2联赛PWL S2 FTD vs Inki 第一场 11.21
2020/11/23 DOTA
Pyramid Mako模板引入helper对象的步骤方法
2013/11/27 Python
从Python程序中访问Java类的简单示例
2015/04/20 Python
python访问系统环境变量的方法
2015/04/29 Python
Python实现识别图片内容的方法分析
2018/07/11 Python
Python 判断奇数偶数的方法
2018/12/20 Python
Python 解决OPEN读文件报错 ,路径以及r的问题
2019/12/19 Python
python数据预处理 :样本分布不均的解决(过采样和欠采样)
2020/02/29 Python
对python pandas中 inplace 参数的理解
2020/06/27 Python
英国网上花店:Bunches
2016/11/29 全球购物
英国翻新电子产品购物网站:Tech Trade
2017/12/25 全球购物
湖南卫视在线视频媒体平台:芒果TV
2019/10/30 全球购物
写一个函数,求一个字符串的长度。在main函数中输入字符串,并输出其长度
2015/11/18 面试题
导游实习生自荐书
2014/01/28 职场文书
公司接待方案
2014/03/08 职场文书
药剂专业毕业生求职信
2014/06/24 职场文书
社区清明节活动总结
2014/07/04 职场文书
教师暑期培训感言
2014/08/15 职场文书
幼儿园教师节演讲稿
2014/09/03 职场文书
大学生求职信怎么写
2015/03/19 职场文书
读《解忧杂货店》有感:请相信一切都是最好的安排
2019/11/07 职场文书
html网页引入svg图片的4种方式
2022/08/05 HTML / CSS