溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

nodejs body-parser 解析post數(shù)據(jù)實(shí)例

發(fā)布時(shí)間:2020-10-10 21:01:22 來(lái)源:腳本之家 閱讀:199 作者:jingxian 欄目:web開(kāi)發(fā)

安裝

$ 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è)參考,也希望大家多多支持億速云。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI