nodejs body-parser 解析post數(shù)據(jù)實(shí)例
安裝
$ npm install body-parser
API
var bodyPaeser =require('body-parser')
可以通過(guò)body-parser 對(duì)象創(chuàng)建中間件,當(dāng)接收到客戶端請(qǐng)求時(shí)所有的中間件都會(huì)給req.body 添加屬性,請(qǐng)求體為空,則解析為空{(diào)} (或者出現(xiàn)錯(cuò)誤)。
bodyParser.json(options)
中間件只會(huì)解析 json ,允許請(qǐng)求提任意Unicode編碼支持 gzip 和 deflate 編碼。
options
一個(gè)對(duì)象,有以下屬性
inflate
默認(rèn)為false,true->壓縮的請(qǐng)求體會(huì)被解壓,false->壓縮的請(qǐng)求提不被解壓。
limit
控制請(qǐng)求體最大大小,默認(rèn)為100kb,當(dāng)為數(shù)字時(shí)會(huì)轉(zhuǎn)換為bytes,當(dāng)為字符串時(shí),value值會(huì)通過(guò) bytes庫(kù) 轉(zhuǎn)換為字節(jié)大小。
reviver
此選項(xiàng)會(huì)通過(guò)JSON.parse直接傳給其第二個(gè)參數(shù)。
strict
默認(rèn)為true,當(dāng)為true時(shí)只接受數(shù)組和對(duì)象,當(dāng)為false時(shí)會(huì)接受任何JSON.parse 能接受的。
type
type 選項(xiàng)用來(lái)決定中間件要解析媒體類型。選項(xiàng)可以是一個(gè)函數(shù)或者是字符串。當(dāng)為字符串時(shí),可以直接通過(guò)type-is 庫(kù)直接傳遞給選項(xiàng),字符串也可以為一個(gè)擴(kuò)展名(例如json)、mime 類型(application/json、/ 、*/json)。當(dāng)為函數(shù)時(shí):默認(rèn)為application/json。
verify
verify選項(xiàng),若缺失則為一個(gè)函數(shù)function(req,res,buf,encoding),buf為一個(gè)Buffer。
bodyParse.raw(option)
將請(qǐng)求體內(nèi)容作為Buffer來(lái)處理,并返回。支持gzip deflate 壓縮。
inflate
limit
type
verify
bodyParser.text(option)
將請(qǐng)求提內(nèi)容作為字符串來(lái)處理,并返回。支持gzip deflate 壓縮。
defaultCharset
若請(qǐng)求頭未設(shè)置Content-Type則默認(rèn)為utf8
inflate
type
verify
bodyParser.urlencoded(option)
中間件只解析urlencoded 請(qǐng)求體,并返回,只支持UTF-8編號(hào)文本,支持gzip deflate 壓縮。
extend
ture->使用queryString庫(kù)(默認(rèn)) false->使用qs庫(kù)。
limit
parameterlimit
指定parameters最長(zhǎng)長(zhǎng)度,默認(rèn)1000
type
verify
舉例:
const express=require('express');
const bodyParser=require('body-parser');
var server=express();
server.listen(8080);
server.use(bodyParser.urlencoded({
extended: false, //擴(kuò)展模式
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數(shù)據(jù)實(shí)例就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Windows上安裝Node-RED的實(shí)現(xiàn)
Node-RED是一個(gè)用于物聯(lián)網(wǎng)編程的工具,提供了一個(gè)基于瀏覽器的編程環(huán)境和豐富的節(jié)點(diǎn)類型,本文就來(lái)介紹一下Windows上安裝Node-RED的實(shí)現(xiàn),感興趣的可以了解一下2025-02-02
nodejs+mysql實(shí)現(xiàn)用戶相關(guān)的增刪改查的詳細(xì)操作
這篇文章主要介紹了nodejs+mysql實(shí)現(xiàn)用戶相關(guān)的增刪改查的詳細(xì)操作的相關(guān)資料,需要的朋友可以參考下2023-05-05
nodejs安裝與配置過(guò)程+初學(xué)實(shí)例解讀
這篇文章主要介紹了nodejs安裝與配置過(guò)程+初學(xué)實(shí)例解讀,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-04-04
NodeJS服務(wù)器實(shí)現(xiàn)gzip壓縮的示例代碼
這篇文章主要介紹了NodeJS服務(wù)器實(shí)現(xiàn)gzip壓縮的示例代碼,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-10-10
node.js中的fs.linkSync方法使用說(shuō)明
這篇文章主要介紹了node.js中的fs.linkSync方法使用說(shuō)明,本文介紹了fs.linkSync的方法說(shuō)明、語(yǔ)法、接收參數(shù)、使用實(shí)例和實(shí)現(xiàn)源碼,需要的朋友可以參考下2014-12-12
nodejs如何在typescript項(xiàng)目中申明全局變量
這篇文章主要介紹了nodejs在typescript項(xiàng)目中申明全局變量,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友參考下吧2024-05-05
解決下載了nodejs但npm?-v沒(méi)有反應(yīng)問(wèn)題的全過(guò)程
最近工作中遇到了個(gè)問(wèn)題,node安裝成功,但npm無(wú)法使用,所以下面這篇文章主要給大家介紹了關(guān)于下載了nodejs但npm?-v沒(méi)有反應(yīng)問(wèn)題解決的相關(guān)資料,需要的朋友可以參考下2022-08-08

