[英]How to iterate over body of POST request in Express.js?
我正在为NodeJS中的POST请求构建一个通用路由处理程序。
我需要迭代POST请求的req.params
,而不事先知道参数是什么。
我试过以下没有成功:
console.log("checking param keys...")
Object.keys(req.param).forEach(function(key){
console.log(key +"is " + req.params(key) )
})
当我运行此代码时,只打印“检查参数键...”。
谁知道怎么做?
我想你问的是如何从一个url编码的POST请求体中迭代表单帖子,所以它是bodyParser()中间件,它完成了你的技巧。
req.params
是一个数组,包含由路由定义的express app映射的属性。 查看req.params的详细信息,而不是请求正文。 以下面的代码为例:
var app = require("express")();
app.use(express.bodyParser());
app.post("/form/:name", function(req, res) {
console.log(req.params);
console.log(req.body);
console.log(req.query);
res.send("ok");
});
然后像这样测试:
$ curl -X POST --data 'foo=bar' http://localhost:3000/form/form1?url=/abc
您将看到如下控制台输出:
[ name: 'form1' ]
{ foo: 'bar' }
{ url: '/abc' }
因此req.body
是访问请求体的正确方法, req.query
是所有HTTP方法的读取查询字符串。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.