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 模块开发及发布详解分享
Mar 07 NodeJs
nodejs 整合kindEditor实现图片上传
Feb 03 NodeJs
nodejs调用cmd命令实现复制目录
May 04 NodeJs
nodejs读写json文件的简单方法(必看)
Mar 09 NodeJs
Nodejs中crypto模块的安全知识讲解
Jan 03 NodeJs
NodeJs搭建本地服务器之使用手机访问的实例讲解
May 12 NodeJs
NodeJS加密解密及node-rsa加密解密用法详解
Oct 12 NodeJs
详解nodejs 配置文件处理方案
Jan 02 NodeJs
nodejs检测因特网是否断开的解决方案
Apr 17 NodeJs
通过Nodejs搭建网站简单实现注册登录流程
Jun 14 NodeJs
nodejs中各种加密算法的实现详解
Jul 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
Discuz Uchome ajaxpost小技巧
2011/01/04 PHP
PHP限制HTML内容中图片必须是本站的方法
2015/06/16 PHP
php中 ob_start等函数截取标准输出的方法
2015/06/22 PHP
Zend Framework教程之响应对象的封装Zend_Controller_Response实例详解
2016/03/07 PHP
PHP实现生成模糊图片的方法示例
2017/12/21 PHP
xml和web特殊字符
2009/04/28 Javascript
JavaScript实现简单的二级导航菜单实例
2015/04/15 Javascript
举例讲解JavaScript中关于对象操作的相关知识
2015/11/16 Javascript
jQuery simplePage+AJAX plus分页插件用法实例
2016/02/17 Javascript
js闭包学习心得总结
2018/04/17 Javascript
JavaScript实现选项卡效果的分析及步骤
2019/04/16 Javascript
使用jQuery如何写一个含验证码的登录界面
2019/05/13 jQuery
vue2.0 实现富文本编辑器功能
2019/05/26 Javascript
vuex存值与取值的实例
2019/11/06 Javascript
JavaScript实现多文件下载方法解析
2020/08/07 Javascript
[03:01]2014DOTA2国际邀请赛 DC:我是核弹粉,为Burning和国土祝福
2014/07/13 DOTA
[02:03]完美世界DOTA2联赛10月30日赛事集锦
2020/10/31 DOTA
Python中几种操作字符串的方法的介绍
2015/04/09 Python
python 创建弹出式菜单的实现代码
2017/07/11 Python
python编写微信远程控制电脑的程序
2018/01/05 Python
python实现决策树分类(2)
2018/08/30 Python
Python编程中类与类的关系详解
2019/08/08 Python
解决Mac下使用python的坑
2019/08/13 Python
python 消费 kafka 数据教程
2019/12/21 Python
python sorted函数原理解析及练习
2020/02/10 Python
一款基于css3和jquery实现的动画显示弹出层按钮教程
2015/01/04 HTML / CSS
IE9对HTML5中部分属性不支持的原因分析
2014/10/15 HTML / CSS
Shop Apotheke瑞士:您的健康与美容网上商店
2019/10/09 全球购物
毕业生物理教师求职信
2013/10/17 职场文书
工程部主管岗位职责
2013/11/17 职场文书
面试自我介绍演讲稿
2014/04/29 职场文书
解除劳动合同证明书
2014/09/26 职场文书
村党的群众路线教育实践活动工作总结
2014/10/25 职场文书
英语复习计划
2015/01/19 职场文书
土木工程生产实习心得体会
2016/01/22 职场文书
2016应届大学生自荐信模板
2016/01/28 职场文书