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 相关文章推荐
golang、python、php、c++、c、java、Nodejs性能对比
Mar 12 NodeJs
Nodejs异步回调的优雅处理方法
Sep 25 NodeJs
nodejs实现的一个简单聊天室功能分享
Dec 06 NodeJs
使用nodejs中httpProxy代理时候出现404异常的解决方法
Aug 15 NodeJs
nodejs模块学习之connect解析
Jul 05 NodeJs
Nodejs模块载入运行原理
Feb 23 NodeJs
nodejs+mongodb aggregate级联查询操作示例
Mar 17 NodeJs
通过nodejs 服务器读取HTML文件渲染到页面的方法
May 17 NodeJs
用Electron写个带界面的nodejs爬虫的实现方法
Jan 29 NodeJs
Nodejs对postgresql基本操作的封装方法
Feb 20 NodeJs
NodeJs之word文件生成与解析的实现代码
Apr 01 NodeJs
nodejs的安装使用与npm的介绍
Sep 11 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 获取远程网页内容的代码(fopen,curl已测)
2011/06/06 PHP
深入php内核之php in array
2015/11/10 PHP
Javascript中的数学函数集合
2007/05/08 Javascript
JavaScript获取GridView中用户点击控件的行号,列号
2009/04/14 Javascript
JQuery DataTable删除行后的页面更新利用Ajax解决
2013/05/17 Javascript
jquery插件jquery倒计时插件分享
2013/12/27 Javascript
利用window.name实现windowStorage代码分享
2014/01/02 Javascript
JavaScript获取表单内所有元素值的方法
2015/04/02 Javascript
理解javascript中的原型和原型链
2015/07/30 Javascript
通过Jquery.cookie.js实现展示浏览网页的历史记录超管用
2015/10/23 Javascript
jQuery查看选中对象HTML代码的方法
2016/06/17 Javascript
js阻止移动端页面滚动的两种方法
2017/01/25 Javascript
jQuery实现多张图片上传预览(不经过后端处理)
2017/04/29 jQuery
原生JS实现的多个彩色小球跟随鼠标移动动画效果示例
2018/02/01 Javascript
详解element-ui中form验证杂记
2019/03/04 Javascript
深入浅析ng-bootstrap 组件集中 tabset 组件的实现分析
2019/07/19 Javascript
vue实现从外部修改组件内部的变量的值
2020/07/30 Javascript
vue组件中传值EventBus的使用及注意事项说明
2020/11/16 Javascript
vue 动态生成拓扑图的示例
2021/01/03 Vue.js
跟老齐学Python之关于循环的小伎俩
2014/10/02 Python
对python for 文件指定行读写操作详解
2018/12/29 Python
Python设计模式之享元模式原理与用法实例分析
2019/01/11 Python
详解Ubuntu环境下部署Django+uwsgi+nginx总结
2020/04/02 Python
解决python 虚拟环境删除包无法加载的问题
2020/07/13 Python
pytorch __init__、forward与__call__的用法小结
2021/02/27 Python
英国标志性奢侈品牌:Burberry
2016/07/28 全球购物
英国计算机商店:Technextday
2019/12/28 全球购物
《美丽的小路》教学反思
2014/02/26 职场文书
大学生考试作弊检讨书
2014/09/21 职场文书
物业工程部岗位职责
2015/02/11 职场文书
神龙架导游词
2015/02/11 职场文书
人民币使用说明书
2019/04/17 职场文书
Go语言中的UTF-8实现
2021/04/26 Golang
为Java项目添加Redis缓存的方法
2021/05/18 Redis
Mysql 用户权限管理实现
2021/05/25 MySQL
如何开启Apache,Nginx和IIS服务器的GZIP压缩功能
2022/04/29 Servers