nodejs body-parser 解析post数据实例

 更新时间:2017年07月26日 07:52:37   投稿:jingxian  
下面小编就为大家带来一篇nodejs body-parser 解析post数据实例。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

安装

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

相关文章

  • 我的Node.js学习之路(二)NPM模块管理

    我的Node.js学习之路(二)NPM模块管理

    npm 是 Node.js 的模块依赖管理工具。作为开发者使用的工具,主要解决开发 Node.js 时会遇到的问题。如同 RubyGems 对于 Ruby 开发者和 Maven 对于 Java 开发者的重要性,npm 对与 Node.js 的开发者和社区的重要性不言而喻。
    2014-07-07
  • Nest.js环境变量配置与序列化详解

    Nest.js环境变量配置与序列化详解

    这篇文章主要给大家介绍了关于Nest.js环境变量配置与序列化的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-02-02
  • Node.js与MySQL交互操作及其注意事项

    Node.js与MySQL交互操作及其注意事项

    这篇文章给大家主要介绍了Node.js与MySQL交互操作及其注意事项,非常的详细,有相同需求的小伙伴可以参考下
    2016-10-10
  • NodeJS实现同步的方法

    NodeJS实现同步的方法

    今天小编就为大家分享一篇关于NodeJS实现同步的方法,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-03-03
  • node.js操作mysql简单实例

    node.js操作mysql简单实例

    本文给大家介绍了nodejs 连接Mysql相关操作的示例代码,主要用到的是sql语句,都是比较基础的。
    2017-05-05
  • Node.js全局对象Global的实现

    Node.js全局对象Global的实现

    在Nodejs下全局变量和全局函数都是可以使用global来访问到的,本文主要介绍了Node.js全局对象Global的实现,具有一定的参考价值,感兴趣的可以了解一下
    2023-12-12
  • node中使用es5/6以及支持性与性能对比

    node中使用es5/6以及支持性与性能对比

    本篇文章主要介绍了node中使用es5/6以及支持性与性能对比,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-08-08
  • npm install安装失败常见问题的解决办法小结

    npm install安装失败常见问题的解决办法小结

    有时候前端安装npm install 安装包总是安装不上,下面这篇文章主要给大家介绍了关于npm install安装失败常见问题的解决办法,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2023-05-05
  • Node.js实现兼容IE789的文件上传进度条

    Node.js实现兼容IE789的文件上传进度条

    这篇文章给大家介绍了如何实现兼容IE789的文件上传进度条,如果你的工作用过上传图片或上传大文件啥的,一般在IE低版本浏览器里,会切换到用flash解决,可是有些人肯定不会为了老旧IE的进度条而去学flash,那么下面来一起看看吧。
    2016-09-09
  • Node.js基础模块babel使用详解

    Node.js基础模块babel使用详解

    这篇文章主要介绍了Node.js基础模块babel使用详解,babel是由一系列的组件构成,所以我们在开发过程中,要从自行配置组件来开始使用babel的功能
    2022-06-06

最新评论