真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

body-parser怎么在node.js中使用-創(chuàng)新互聯(lián)

本篇文章為大家展示了body-parser怎么在node.js中使用,內(nèi)容簡(jiǎn)明扼要并且容易理解,絕對(duì)能使你眼前一亮,通過這篇文章的詳細(xì)介紹希望你能有所收獲。

創(chuàng)新互聯(lián)專業(yè)提供資陽服務(wù)器托管服務(wù),為用戶提供五星數(shù)據(jù)中心、電信、雙線接入解決方案,用戶可自行在線購(gòu)買資陽服務(wù)器托管服務(wù),并享受7*24小時(shí)金牌售后服務(wù)。

Node中的核心模塊分兩類:一類是自帶的核心模塊,如http、tcp等,第二類是第三方核心模塊,express就是與http對(duì)應(yīng)的第三方核心模塊,用于處理http請(qǐng)求。express在3.0版本中自帶有很多中間件,但是在express 4.0以后,就將除static(靜態(tài)文件處理)以外的其他中間件分離出來了;在4.0以后需要使用中間件時(shí),就需要單獨(dú)安裝好相應(yīng)的中間件以后調(diào)用,以下3.0與4.0中間件的中間件區(qū)別(3.0是內(nèi)置中間件屬性名,4.0是需要安裝的中間件名稱):

Express 3.0 Name

Express 4.0 Name

bodyParser

body-parser

compress

compression

cookieSession

cookie-session

logger

morgan

cookieParser

cookie-parser

session

express-session

favicon

static-favicon

response-time

response-time

error-handler

errorhandler

method-override

method-override

timeout

connect-timeout

vhost

vhost

csrf

csurf

body-parser

我是在學(xué)習(xí)nodejs時(shí)候,對(duì)著書本的例子時(shí),使用bodyParser這個(gè)中間件,在終端運(yùn)行出問題,報(bào)錯(cuò)大概意思也是express4.0中沒有bodyParser這個(gè)內(nèi)置中間件了,還給了body-parser的GitHub源代碼地址:https://github.com/expressjs/body-parser.

經(jīng)過看源代碼下面的說明知道了body-parser的三種用法:

在講用法之間,我們需要弄清楚下面四個(gè)不同的處理方法:這四個(gè)處理方法分別對(duì)body的內(nèi)容采用不同的處理方法;分別是處理json數(shù)據(jù)、Buffer流數(shù)據(jù)、文本數(shù)據(jù)、UTF-8的編碼的數(shù)據(jù)。

bodyParser.json(options)、bodyParser.raw(options)、bodyParser.text(options)bodyParser.urlencoded(options)

以下是它的三種用法:

1、底層中間件用法:這將攔截和解析所有的請(qǐng)求;也即這種用法是全局的。

var express = require('express')
var bodyParser = require('body-parser')
 
var app = express()
 
// parse application/x-www-form-urlencoded
app.use(bodyParser.urlencoded({ extended: false }))
 
// parse application/json
app.use(bodyParser.json())
 
app.use(function (req, res) {
 res.setHeader('Content-Type', 'text/plain')
 res.write('you posted:\n')
 res.end(JSON.stringify(req.body, null, 2))
})

express的use方法調(diào)用body-parser實(shí)例;且use方法沒有設(shè)置路由路徑;這樣的body-parser實(shí)例就會(huì)對(duì)該app所有的請(qǐng)求進(jìn)行攔截和解析。

2、特定路由下的中間件用法:這種用法是針對(duì)特定路由下的特定請(qǐng)求的,只有請(qǐng)求該路由時(shí),中間件才會(huì)攔截和解析該請(qǐng)求;也即這種用法是局部的;也是最常用的一個(gè)方式。

var express = require('express')
var bodyParser = require('body-parser')
 
var app = express()
 
// create application/json parser
var jsonParser = bodyParser.json()
 
// create application/x-www-form-urlencoded parser
var urlencodedParser = bodyParser.urlencoded({ extended: false })
 
// POST /login gets urlencoded bodies
app.post('/login', urlencodedParser, function (req, res) {
 if (!req.body) return res.sendStatus(400)
 res.send('welcome, ' + req.body.username)
})
 
// POST /api/users gets JSON bodies
app.post('/api/users', jsonParser, function (req, res) {
 if (!req.body) return res.sendStatus(400)
 // create user in req.body
})

express的post(或者get)方法調(diào)用body-parser實(shí)例;且該方法有設(shè)置路由路徑;這樣的body-parser實(shí)例就會(huì)對(duì)該post(或者get)的請(qǐng)求進(jìn)行攔截和解析。

3、設(shè)置Content-Type 屬性;用于修改和設(shè)定中間件解析的body類容類型。

// parse various different custom JSON types as JSON
app.use(bodyParser.json({ type: 'application/*+json' });

// parse some custom thing into a Buffer
app.use(bodyParser.raw({ type: 'application/vnd.custom-type' }));

// parse an HTML body into a string
app.use(bodyParser.text({ type: 'text/html' }));

上述內(nèi)容就是body-parser怎么在node.js中使用,你們學(xué)到知識(shí)或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識(shí)儲(chǔ)備,歡迎關(guān)注創(chuàng)新互聯(lián)網(wǎng)站建設(shè)公司行業(yè)資訊頻道。

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)建站www.cdcxhl.com,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。


當(dāng)前標(biāo)題:body-parser怎么在node.js中使用-創(chuàng)新互聯(lián)
鏈接分享:http://weahome.cn/article/gejih.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部