• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >JavaScript > 基于node.js依赖express解析post请求四种数据格式

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

作者:Sherlock_H 字体:[增加 减小] 来源:互联网 时间:2017-05-11

Sherlock_H通过本文主要向大家介绍了node express post,node.js express,node.js安装express,node.js express 框架,node.js express app等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

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

可以用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!");
});
</div>

3、application/json

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

app.use(bodyParser.json());
</div>

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

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

</div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

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

相关文章

  • 2017-05-11xmlplus组件设计系列之下拉刷新(PullRefresh)(6)
  • 2017-05-11ES5 ES6中Array对象去除重复项的方法总结
  • 2017-05-11解决给dom元素绑定click等事件无效问题的方法
  • 2017-05-11jQuery Validate 相关参数及常用的自定义验证规则
  • 2017-05-11bootstrap手风琴制作方法详解
  • 2017-05-11javascript基础知识之html5轮播图实例讲解(44)
  • 2017-05-11微信小程序 下拉菜单简单实例
  • 2017-05-11JavaScript通过改变文字透明度实现的文字闪烁效果实例
  • 2017-05-11JavaScript正则获取地址栏中参数的方法
  • 2017-05-11完美解决node.js中使用https请求报CERT_UNTRUSTED的问题

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • 支持移动端原生js轮播图
    • jquery滚动条插件slimScroll使用方法
    • 完美实现js焦点轮播效果(一)
    • javascript作用域链与执行环境详解
    • jQuery实现标签页效果实战(4)
    • 关于axios返回空对象的问题解决
    • vue.js实现含搜索的多种复选框(附源码)
    • vue2.0数据双向绑定与表单bootstrap+vue组件
    • 基于vuejs实现一个todolist项目
    • JSONP 跨域

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有