node 0.11 怎么获取post请求的body

node 0.11 怎么获取post请求的body
http.createServerfunctionreq, res{
};

req没有rawBody也没有body属性

感谢大家的帮助,已经解决,在不使用express库的情况下,原生的node去获取post的请求body只能用
http.createServerfunctionreq, res{
req.ondata,functiondata{
};
}.listenport;

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

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

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

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

2.没有引入的话先引入

npm install body-parser --save

然后在程序里

var bodyParser = requirebody-parser;

3.引入后:

// parse application/x-www-form-urlencoded
app.usebodyParser.urlencoded{ extended: false } // parse application/json
app.usebodyParser.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;

发表评论

电子邮件地址不会被公开。 必填项已用*标注