gpt4 book ai didi

javascript - 如何在 Express.js 中迭代 POST 请求的主体?

转载 作者:搜寻专家 更新时间:2023-10-31 23:13:24 24 4
gpt4 key购买 nike

我正在为 NodeJS 中的 POST 请求构建一个通用路由处理程序。

我需要遍历 POST 请求的 req.params,事先不知道参数是什么。

我已经尝试了以下但没有成功:

console.log("checking param keys...")
Object.keys(req.param).forEach(function(key){
console.log(key +"is " + req.params(key) )
})

当我运行这段代码时,只会打印“Checking param keys...”。

有人知道怎么做吗?

最佳答案

我猜你问的是如何从 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方法的查询字符串。

关于javascript - 如何在 Express.js 中迭代 POST 请求的主体?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22003410/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com