2012-05-09 12 views
9

Sto usando Node.js e voglio vedere tutti i parametri che sono stati postati nel mio script. Per arrivare alla mia funzione, nel mio routes/index.js sto facendo:Perché req.params restituisce un array vuoto?

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

Poi nella mia funzione, ho:

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

ma è la restituzione di un array vuoto. Ma quando lo faccio:

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

Ottengo i dati. Quindi sono un po 'confuso su cosa sta succedendo qui.

risposta

21

req.params contiene solo i parametri di instradamento, non i parametri di stringa di query (da GET) e non i parametri di corpo (da POST). La funzione param() tuttavia controlla tutti e tre, si veda:

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

+0

Si noti che 'req.param()' è [deprecato] (http://expressjs.com/en/4x/api.html#req.param). –

12

req.params
può ottenere solo il parametro di richiesta URL in questo schema: /user/:name

req.query
get parametri di query (nome) come /user?name=123 o parametri del corpo.

Problemi correlati