2012-05-09 32 views
9

私はNode.jsを使用しており、スクリプトに投稿されたすべてのパラメータを表示したいと考えています。私の機能を取得するには、私のroutes/index.jsに私がやっている:req.paramsが空の配列を返すのはなぜですか?

app.post('/v1/order', order.create); 

をその後、私の機能では、私が持っている:

exports.create = function(req, res, next) { 
console.log(req.params); 

しかし、それは空の配列を返すです。しかし、私がするとき:

exports.create = function(req, res, next) { 
console.log(req.param('account_id')); 

私はデータを取得します。だから私はここで何が起こっているのかちょっと混乱している。

答えて

21

req.paramsには、(POSTからの)body paramsではなく、query string params(GETからではなく)のルートparamsのみが含まれます。 PARAM()関数は、しかし、すべての3つのチェック、次を参照してください。

http://expressjs.com/4x/api.html#req.params

+0

req.param()は[非推奨]です(http://expressjs.com/en/4x/api.html#req.param)。 –

12

req.params
のみ、このパターンで要求URLのPARAMを取得することができます:/user/:name

req.query
GET /user?name=123またはボディパラメータのようなクエリパラメータ(名前)。

関連する問題