node.js - node 0.11 怎么获取post请求的body
天蓬老师
天蓬老师 2017-04-17 11:41:12
[Node.js讨论组]

node 0.11 怎么获取post请求的body
http.createServer(function(req, res){
});

req没有rawBody也没有body属性

天蓬老师
天蓬老师

欢迎选择我的课程,让我们一起见证您的进步~~

全部回复(4)
伊谢尔伦

感谢大家的帮助,已经解决,在不使用express库的情况下,原生的node去获取post的请求body只能用
http.createServer(function(req, res){
req.on('data',function(data){
});
}).listen(port);

天蓬老师

https://github.com/expressjs/body-parser

PHPz

你可以看一下这篇文章node.js 下依赖Express 实现post 4种方式提交参数

楼上所说body-parser 只支持:application/json, application/x-www-form-urlencoded, multipart/form-data这三种数据格式的请求包体的解析,对xml并不支持,当然,可以用xml2json将请求数据流转化为json进行处理。

PHP中文网

1.首先,看看你是否引入了body-parser而未调用,如果引入了跳过2

2.没有引入的话先引入

npm install body-parser --save

然后在程序里

var bodyParser = require('body-parser');

3.引入后:

// parse application/x-www-form-urlencoded
app.use(bodyParser.urlencoded({ extended: false }))

// parse application/json
app.use(bodyParser.json())

补充:

"application/x-www-form-urlencoded":窗体数据被编码为名称/值对。这是标准的编码格式。
"multipart/form-data":窗体数据被编码为一条消息,页上的每个控件对应消息中的一个部分。
"text/plain":窗体数据以纯文本形式进行编码,其中不含任何控件或格式字符

默认情况,这个编码格式是"application/x-www-form-urlencoded",不能用于文件上传;只有使用了"multipart/form-data",才能完整的传递文件数据,

4.配置完成后,如果数据形式是这样:

 - username
 - password
 - ...

就可以:

var username = req.body.username;
var password = req.body.password;
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号