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与Mysql的交互示例代码
Aug 18 NodeJs
使用upstart把nodejs应用封装为系统服务实例
Jun 01 NodeJs
nodejs中简单实现Javascript Promise机制的实例
Dec 06 NodeJs
轻松创建nodejs服务器(3):代码模块化
Dec 18 NodeJs
轻松创建nodejs服务器(4):路由
Dec 18 NodeJs
Nodejs爬虫进阶教程之异步并发控制
Feb 15 NodeJs
Nodejs如何搭建Web服务器
Mar 28 NodeJs
用nodejs搭建websocket服务器
Jan 23 NodeJs
详解nodeJS之路径PATH模块
May 31 NodeJs
windows系统下更新nodejs版本的方案
Nov 24 NodeJs
Nodejs连接mysql并实现增、删、改、查操作的方法详解
Jan 04 NodeJs
使用 Koa + TS + ESLlint 搭建node服务器的过程详解
May 30 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
第十节--抽象方法和抽象类
2006/11/16 PHP
smarty实例教程
2006/11/19 PHP
php类中private属性继承问题分析
2012/11/01 PHP
php添加文章时生成静态HTML文章的实现代码
2013/02/17 PHP
javascript demo 基本技巧
2009/12/18 Javascript
JavaScript 轻松搞定快捷留言功能 只需一行代码
2010/04/01 Javascript
JS弹出窗口代码大全(详细整理)
2012/12/21 Javascript
jquery简单瀑布流实现原理及ie8下测试代码
2013/01/23 Javascript
js简单实现让文本框内容逐个字的显示出来
2013/10/22 Javascript
浅析JQuery UI Dialog的样式设置问题
2013/12/18 Javascript
jquery等待效果示例
2014/05/01 Javascript
jQuery中的编程范式详解
2014/12/15 Javascript
详解Vue 事件驱动和依赖追踪
2017/04/22 Javascript
Angular 4.x 动态创建表单实例
2017/04/25 Javascript
Async Validator 异步验证使用说明
2017/07/03 Javascript
详解利用 Express 托管静态文件的方法
2017/09/18 Javascript
vue单页应用加百度统计代码(亲测有效)
2018/01/31 Javascript
微信小程序wx:for和wx:for-item的用法详解
2018/04/01 Javascript
JavaScript中var、let、const区别浅析
2018/06/24 Javascript
JavaScript设计模式之建造者模式实例教程
2018/07/02 Javascript
学习node.js 断言的使用详解
2019/03/18 Javascript
vue框架中props的typescript用法详解
2020/02/17 Javascript
vue 表单输入框不支持focus及blur事件的解决方案
2020/11/17 Vue.js
举例讲解Python编程中对线程锁的使用
2016/07/12 Python
详解如何为eclipse安装合适版本的python插件pydev
2018/11/04 Python
Python使用python-docx读写word文档
2019/08/26 Python
Python命令行click参数用法解析
2019/12/19 Python
Python 余弦相似度与皮尔逊相关系数 计算实例
2019/12/23 Python
基于Python计算圆周率pi代码实例
2020/03/25 Python
Russell Stover巧克力官方网站:美国领先的精美巧克力制造商
2016/11/27 全球购物
美国标志性加大尺码时装品牌:Ashley Stewart
2016/12/15 全球购物
申报职称专业技术个人的自我评价
2013/12/12 职场文书
聘任书的写作格式及范文
2014/03/29 职场文书
《蝙蝠和雷达》教学反思
2014/04/23 职场文书
2014年幼儿园教学工作总结
2014/12/04 职场文书
创业分两种人:那么哪些适合创业?,哪些适合不适合创业呢?
2019/08/23 职场文书