国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 編程 > JavaScript > 正文

基于node.js依賴express解析post請(qǐng)求四種數(shù)據(jù)格式

2019-11-19 17:36:40
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

node.js依賴express解析post請(qǐng)求四種數(shù)據(jù)格式

分別是這四種:

  • www-form-urlencoded
  • form-data
  • application/json
  • text/xml

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);

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持武林網(wǎng)。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 老河口市| 黄龙县| 西乌珠穆沁旗| 定远县| 东兰县| 新野县| 瓦房店市| 温泉县| 徐州市| 林州市| 瓮安县| 托克逊县| 友谊县| 七台河市| 金坛市| 永平县| 阳城县| 陇川县| 即墨市| 淮阳县| 芜湖市| 泽库县| 双鸭山市| 龙门县| 晋州市| 乐平市| 福泉市| 北流市| 泗洪县| 凌海市| 阿勒泰市| 明溪县| 栖霞市| 肥乡县| 丰台区| 松桃| 焦作市| 临清市| 绥阳县| 游戏| 泰兴市|