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数据的更多相关文章
- iOS关于XML解析请求数据
		
XML数据的请求: 和json请求几乎一样,只有请求参数修改为xml即可: AFHTTPSessionManager *manager = [AFHTTPSessionManager manager] ...
 - iOS解析XML数据
		
iOS中解析XML数据的类是 NSXMLParser,详细使用方法如下: 假设现在在内存中有XML的二进制数据对象(NSData):data(该数据可能来自网络,也可能是本地的文件数据),设置NSX ...
 - Android网络之数据解析----SAX方式解析XML数据
		
[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/ ...
 - EasyUI基础入门之Parser(解析器)
		
前言 JQuery EasyUI提供的组件包含功能强大的DataGrid,TreeGrid.面板.下拉组合等.用户能够组合使用这些组件,也能够单独使用当中一个.(使用的形式是以插件的方式提供的) Ea ...
 - Expat Parser解析xml文件
		
Expat 解析器是基于事件的解析器. 基于事件的解析器集中在 XML 文档的内容,而不是它们的结构.正因为如此,基于事件的解析器能够比基于树的解析器更快地访问数据. 请看下面的 XML 片段: &l ...
 - 四种方法解析JSON数据
		
(1)使用TouchJSon解析方法:(需导入包:#import "TouchJson/JSON/CJSONDeserializer.h") //使用TouchJson来解析北京的 ...
 - (四)SAX方式解析XML数据
		
SAX方式解析XML数据 文章来源:http://www.cnblogs.com/smyhvae/p/4044170.html 一.XML和Json数据的引入: 通常情况下,每个需要访问网络的应用程 ...
 - 【Android Developers Training】 81. 解析XML数据
		
注:本文翻译自Google官方的Android Developers Training文档,译者技术一般,由于喜爱安卓而产生了翻译的念头,纯属个人兴趣爱好. 原文链接:http://developer ...
 - EasyUI Parser 解析器
		
Parser(解析器)应用场景 1,自动调用parser 只要我们书写相应的class,easyui就能成功的渲染页面,这是因为解析器在默认情况下,会在dom加载完成的时候($(docunment). ...
 - nodejs模块xml2js解析xml的坑
		
在一个项目中,用到nodejs模块xml2js解析xml,xml的数据如下: <xml> <MsgId>6197906553041859764</MsgId> &l ...
 
随机推荐
- Openstack中RabbitMQ RPC代码分析
			
在Openstack中,RPC调用是通过RabbitMQ进行的. 任何一个RPC调用,都有Client/Server两部分,分别在rpcapi.py和manager.py中实现. 这里以nova-sc ...
 - ABP入门系列(2)——领域层创建实体
			
ABP入门系列目录--学习Abp框架之实操演练 这一节我们主要和领域层打交道.首先我们要对ABP的体系结构以及从模板创建的解决方案进行一一对应.网上有代码生成器去简化我们这一步的任务,但是不建议初学者 ...
 - JDK的下载,安装,环境变量配置
			
JDK 下载地址:http://www.oracle.com/technetwork/java/javase/downloads/index.html 环境变量配置:在"系统变量" ...
 - HashMap 相关面试题及其解答
			
Q:HashMap 的数据结构? A:哈希表结构(链表散列:数组+链表)实现,结合数组和链表的优点.当链表长度超过 8 时,链表转换为红黑树. transient Node<K,V>[] ...
 - 对某菠菜网站的一次渗透测试 heatlevel
			
前言 无意间发现一个thinkphp的菠菜站,最近tp不是刚好有个漏洞吗?然后就顺手测试了一下,但过程并不太顺利,不过最后还是拿下了,所以特发此文分享下思路. 0x00 一键getshell? 简单看 ...
 - [Swift]LeetCode202. 快乐数 | Happy Number
			
Write an algorithm to determine if a number is "happy". A happy number is a number defined ...
 - [Swift]LeetCode290. 单词模式 | Word Pattern
			
Given a pattern and a string str, find if str follows the same pattern. Here follow means a full mat ...
 - [Swift]LeetCode542. 01 矩阵 | 01 Matrix
			
Given a matrix consists of 0 and 1, find the distance of the nearest 0 for each cell. The distance b ...
 - python—day9 函数的定义、操作使用方法、函数的分类、函数的嵌套调用
			
一.函数的定义 函数的四个组成部分: 函数名. 函数体. 函数返回值. 函数参数 1.概念:重复利用的工具,可以完成特定功能的代码块,函数是存放代码块的容器 2.定义: def:声明函数的关键词 函数 ...
 - BBS论坛(四)
			
4.1.cms登录页面csrf保护 (1)Perfect_bbs.py from flask_wtf import CSRFProtect CSRFProtect(app) 添加csrf保护后,现在再 ...