nodejs body-parser 解析post數(shù)據(jù)實(shí)例
安裝
$ npm install body-parser
API
var bodyPaeser =require('body-parser')
可以通過body-parser 對象創(chuàng)建中間件,當(dāng)接收到客戶端請求時所有的中間件都會給req.body 添加屬性,請求體為空,則解析為空{(diào)} (或者出現(xiàn)錯誤)。
bodyParser.json(options)
中間件只會解析 json ,允許請求提任意Unicode編碼支持 gzip 和 deflate 編碼。
options
一個對象,有以下屬性
inflate
默認(rèn)為false,true->壓縮的請求體會被解壓,false->壓縮的請求提不被解壓。
limit
控制請求體最大大小,默認(rèn)為100kb,當(dāng)為數(shù)字時會轉(zhuǎn)換為bytes,當(dāng)為字符串時,value值會通過 bytes庫 轉(zhuǎn)換為字節(jié)大小。
reviver
此選項(xiàng)會通過JSON.parse直接傳給其第二個參數(shù)。
strict
默認(rèn)為true,當(dāng)為true時只接受數(shù)組和對象,當(dāng)為false時會接受任何JSON.parse 能接受的。
type
type 選項(xiàng)用來決定中間件要解析媒體類型。選項(xiàng)可以是一個函數(shù)或者是字符串。當(dāng)為字符串時,可以直接通過type-is 庫直接傳遞給選項(xiàng),字符串也可以為一個擴(kuò)展名(例如json)、mime 類型(application/json、/ 、*/json)。當(dāng)為函數(shù)時:默認(rèn)為application/json。
verify
verify選項(xiàng),若缺失則為一個函數(shù)function(req,res,buf,encoding),buf為一個Buffer。
bodyParse.raw(option)
將請求體內(nèi)容作為Buffer來處理,并返回。支持gzip deflate 壓縮。
inflate
limit
type
verify
bodyParser.text(option)
將請求提內(nèi)容作為字符串來處理,并返回。支持gzip deflate 壓縮。
defaultCharset
若請求頭未設(shè)置Content-Type則默認(rèn)為utf8
inflate
type
verify
bodyParser.urlencoded(option)
中間件只解析urlencoded 請求體,并返回,只支持UTF-8編號文本,支持gzip deflate 壓縮。
extend
ture->使用queryString庫(默認(rèn)) false->使用qs庫。
limit
parameterlimit
指定parameters最長長度,默認(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í)例就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
我的Node.js學(xué)習(xí)之路(二)NPM模塊管理
npm 是 Node.js 的模塊依賴管理工具。作為開發(fā)者使用的工具,主要解決開發(fā) Node.js 時會遇到的問題。如同 RubyGems 對于 Ruby 開發(fā)者和 Maven 對于 Java 開發(fā)者的重要性,npm 對與 Node.js 的開發(fā)者和社區(qū)的重要性不言而喻。2014-07-07Node.js與MySQL交互操作及其注意事項(xiàng)
這篇文章給大家主要介紹了Node.js與MySQL交互操作及其注意事項(xiàng),非常的詳細(xì),有相同需求的小伙伴可以參考下2016-10-10Node.js全局對象Global的實(shí)現(xiàn)
在Nodejs下全局變量和全局函數(shù)都是可以使用global來訪問到的,本文主要介紹了Node.js全局對象Global的實(shí)現(xiàn),具有一定的參考價值,感興趣的可以了解一下2023-12-12npm?install安裝失敗常見問題的解決辦法小結(jié)
有時候前端安裝npm install 安裝包總是安裝不上,下面這篇文章主要給大家介紹了關(guān)于npm?install安裝失敗常見問題的解決辦法,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-05-05Node.js實(shí)現(xiàn)兼容IE789的文件上傳進(jìn)度條
這篇文章給大家介紹了如何實(shí)現(xiàn)兼容IE789的文件上傳進(jìn)度條,如果你的工作用過上傳圖片或上傳大文件啥的,一般在IE低版本瀏覽器里,會切換到用flash解決,可是有些人肯定不會為了老舊IE的進(jìn)度條而去學(xué)flash,那么下面來一起看看吧。2016-09-09