[英]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.