欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

nodejs body-parser 解析post数据实例

程序员文章站 2022-04-09 23:11:03
安装 $ npm install body-parser api var bodypaeser =require('body-parser')...

安装

$ 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数据实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。