源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

基于node.js依赖express解析post请求四种数据格式

  • 时间:2020-08-28 11:25 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:基于node.js依赖express解析post请求四种数据格式
node.js依赖express解析post请求四种数据格式 分别是这四种: [list] [*]www-form-urlencoded[/*] [*]form-data[/*] [*]application/json[/*] [*]text/xml[/*] [/list] [b]1、www-form-urlencoded[/b] 这是http的post请求默认的数据格式,需要body-parser中间件的支持 服务器端的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进行测试,这里就不赘述。 [b]2、form-data[/b] 这种方式一般用于数据上传,需要中间件connect-multiparty的支持 服务器端的demo:
var multipart = require('connect-multiparty');
var multipartMiddleware = multipart();
app.post('/formdata',multipartMiddleware, function (req, res) {
console.log(req.body);
res.send("post successfully!");
});
[b]3、application/json[/b] body-parser中间件支持json解析, 添加中间件进行解析即可
app.use(bodyParser.json());
[b]4、text/xml[/b] body-parser默认不支持这种数据格式 解决方法:把请求体参数按照字符串读取出来,然后使用 xml2json 包把字符串解析成json对象,然后对json对象进行操作,方便得多。 注意:我们还是要使用 body-parse 得到字符串,然后再转化. 利用req上定义的事件 data 来获取http请求流, end 事件结束请求流的处理. 利用 xml2json 把上面得到的请求参数流(我们直接转化为字符串)转化为 json 对象. 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);
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程素材网。
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部