2012-05-09 55 views
9

Używam Node.js i chcę zobaczyć wszystkie parametry, które zostały opublikowane w moim skrypcie. Aby dostać się do mojej funkcji, w moim routes/index.js robię:Dlaczego req.params zwraca pustą tablicę?

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

potem w mojej funkcji, mam:

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

Ale to powrót pustą tablicę. Ale kiedy to zrobię:

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

Otrzymuję dane. Więc jestem nieco zdezorientowany, co się tutaj dzieje.

Odpowiedz

21

req.params zawierają tylko parametry trasy, a nie parametry ciągu zapytania (z GET), a nie parametry ciała (z POST). Jednak funkcja param() sprawdza wszystkie trzy, patrz:

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

+0

Zauważ, że 'req.param()' jest [przestarzałe] (http://expressjs.com/en/4x/api.html#req.param). –

12

req.params
można dostać tylko param z żądaniem URL w ten deseń: /user/:name

req.query
get parametry zapytania (name), takie jak /user?name=123 lub params.

Powiązane problemy