我有像这样的PUT方法的代码
module.exports.addRoutes = function(server) {
//PUT
server.put('/api/public/place/:id', function(request, response) {
//this is just for testing, please do not care about the id
var placedetail = request.body;
for(var key in placedetail)
{
console.log(placedetail[key]);
}
});
};
在这段代码中,我想获取所有请求体字段,如request.body.name,request.body.email等。字段参数将由用户决定,服务器将按键获取值
例如,用户将数据放入请求中,如
{
name:"Test"
email:"abc@gmail.com"
}
另一个用户输入数据
{
address:"Test"
location:"Some Test String"
}
我使用这种方式并在尝试访问对象"时得到异常" Object.keys在非对象上调用。但是当访问每个字段时,例如:request.body.name,request.body.email,它仍然成功获取参数。
我也是另一种通过JSON.parse(request.body.toString())解析数据的方式,但实际上,数据不是JSON而且无法解析。
如何获取request.body的所有字段?
感谢。
答案 0 :(得分:3)
您可以使用body-parser模块来解析req.body数据:
var bodyParser = require('body-parser');
app.use(bodyParser.urlencoded({ extended: true }));