全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

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

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

分别是这四种:

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

1、www-form-urlencoded

这是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进行测试,这里就不赘述。

2、form-data

这种方式一般用于数据上传,需要中间件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!");
});

3、application/json

body-parser中间件支持json解析, 添加中间件进行解析即可

app.use(bodyParser.json());

4、text/xml

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

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


# node  # express  # post  # nodejs  # node.js cookie-parser之parser.js  # node.js cookie-parser 中间件介绍  # Node.js 中 cors 依赖示例详解  # Node.js 中 morgan 依赖及基本使用详解  # Node.js项目依赖问题的详细解决步骤  # 在Linux系统上升级Node.js遇到GLIBC依赖问题的多种解决方案  # Node.js中的npm单独与批量升级依赖包的方式超详细讲解  # Node.js 中 cookie-parser 依赖安装使用详解  # 数据格式  # 转化为  # 这是  # 就不  # 可以用  # 得多  # 然后再  # 不支持  # 四种  # 解决方法  # 要使  # 大家多多  # 进行测试  # 这四  # 上传  # br  # var  # require  # pre  # app 


相关文章: 音乐网站服务器如何优化API响应速度?  如何制作一个表白网站视频,关于勇敢表白的小标题?  制作公司内部网站有哪些,内网如何建网站?  一键制作网站软件下载安装,一键自动采集网页文档制作步骤?  昆明高端网站制作公司,昆明公租房申请网上登录入口?  如何通过云梦建站系统实现SEO快速优化?  完全自定义免费建站平台:主题模板在线生成一站式服务  logo在线制作免费网站在线制作好吗,DW网页制作时,如何在网页标题前加上logo?  开源网站制作软件,开源网站什么意思?  昆明网站制作哪家好,昆明公租房申请网上登录入口?  详解jQuery中基本的动画方法  建站之星展会模板:智能建站与自助搭建高效解决方案  高端网站建设与定制开发一站式解决方案 中企动力  php8.4新语法match怎么用_php8.4match表达式替代switch【方法】  建站之星后台密码如何安全设置与找回?  如何在Golang中使用replace替换模块_指定本地或远程路径  早安海报制作网站推荐大全,企业早安海报怎么每天更换?  头像制作网站在线观看,除了站酷,还有哪些比较好的设计网站?  存储型VPS适合搭建中小型网站吗?  建站之星体验版:智能建站系统+响应式设计,多端适配快速建站  怎么制作一个起泡网,水泡粪全漏粪育肥舍冬季氨气超过25ppm,可以有哪些措施降低舍内氨气水平?  如何配置IIS站点权限与局域网访问?  在线流程图制作网站手机版,谁能推荐几个好的CG原画资源网站么?  如何高效完成独享虚拟主机建站?  哈尔滨网站建设策划,哈尔滨电工证查询网站?  广德云建站网站建设方案与建站流程优化指南  如何获取免费开源的自助建站系统源码?  如何在万网自助建站平台快速创建网站?  如何通过老薛主机一键快速建站?  武汉网站设计制作公司,武汉有哪些比较大的同城网站或论坛,就是里面都是武汉人的?  制作网站外包平台,自动化接单网站有哪些?  岳西云建站教程与模板下载_一站式快速建站系统操作指南  如何在Ubuntu系统下快速搭建WordPress个人网站?  怎么将XML数据可视化 D3.js加载XML  如何快速启动建站代理加盟业务?  如何在云主机快速搭建网站站点?  建站之星备案流程有哪些注意事项?  大连网站制作费用,大连新青年网站,五年四班里的视频怎样下载啊?  详解免费开源的.NET多类型文件解压缩组件SharpZipLib(.NET组件介绍之七)  如何在香港服务器上快速搭建免备案网站?  建站之星CMS五站合一模板配置与SEO优化指南  建站org新手必看:2024最新搭建流程与模板选择技巧  如何在云主机上快速搭建网站?  西安制作网站公司有哪些,西安货运司机用的最多的app或者网站是什么?  专业网站建设制作报价,网页设计制作要考什么证?  寿县云建站:智能SEO优化与多行业模板快速上线指南  如何快速完成中国万网建站详细流程?  建站之星2.7模板:企业网站建设与h5定制设计专题  浅析上传头像示例及其注意事项  微信推文制作网站有哪些,怎么做微信推文,急? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。