node.js中怎么利用express解析post請(qǐng)求,相信很多沒(méi)有經(jīng)驗(yàn)的人對(duì)此束手無(wú)策,為此本文總結(jié)了問(wèn)題出現(xiàn)的原因和解決方法,通過(guò)這篇文章希望你能解決這個(gè)問(wèn)題。

1、www-form-urlencoded
這是http的post請(qǐng)求默認(rèn)的數(shù)據(jù)格式,需要body-parser中間件的支持
服務(wù)器端的demo:
var express = require('express');
var app = express();
var bodyParser = require('body-parser');
app.use(bodyParser.urlencoded({
extended:true
}));
app.post('/urlencoded', function(req, res){
console.log(req.body);
res.send(" post successfully!");
});
app.listen(3000);可以用postman進(jìn)行測(cè)試,這里就不贅述。
2、form-data
這種方式一般用于數(shù)據(jù)上傳,需要中間件connect-multiparty的支持
服務(wù)器端的demo:
var multipart = require('connect-multiparty');
var multipartMiddleware = multipart();
app.post('/formdata',multipartMiddleware, function (req, res) {
console.log(req.body);
res.send("post successfully!");
});3、application/json
body-parser中間件支持json解析, 添加中間件進(jìn)行解析即可
app.use(bodyParser.json());
4、text/xml
body-parser默認(rèn)不支持這種數(shù)據(jù)格式
解決方法:把請(qǐng)求體參數(shù)按照字符串讀取出來(lái),然后使用 xml2json 包把字符串解析成json對(duì)象,然后對(duì)json對(duì)象進(jìn)行操作,方便得多。
注意:我們還是要使用 body-parse 得到字符串,然后再轉(zhuǎn)化.
利用req上定義的事件 data 來(lái)獲取http請(qǐng)求流, end 事件結(jié)束請(qǐng)求流的處理.
利用 xml2json 把上面得到的請(qǐng)求參數(shù)流(我們直接轉(zhuǎn)化為字符串)轉(zhuǎn)化為 json 對(duì)象.
demo如下:
var express = require('express');
var bodyParser = require('body-parser');
var xml2json=require('xml2json');
var app = express();
app.use(bodyParser.urlencoded({
extended: true
}));
app.post('/xml', function (req, res) {
req.rawBody = '';//添加接收變量
var json={};
req.setEncoding('utf8');
req.on('data', function(chunk) {
req.rawBody += chunk;
});
req.on('end', function() {
json=xml2json.toJson(req.rawBody);
res.send(JSON.stringify(json));
});
});
app.listen(3000);看完上述內(nèi)容,你們掌握node.js中怎么利用express解析post請(qǐng)求的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)網(wǎng)站建設(shè)公司行業(yè)資訊頻道,感謝各位的閱讀!
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)建站chinadenli.net,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+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)景需求。
網(wǎng)站題目:node.js中怎么利用express解析post請(qǐng)求-創(chuàng)新互聯(lián)
本文網(wǎng)址:http://chinadenli.net/article42/edhhc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供標(biāo)簽優(yōu)化、軟件開(kāi)發(fā)、移動(dòng)網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)公司、App開(kāi)發(fā)、搜索引擎優(yōu)化
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容