Как анализировать переменные в строке запроса с помощью Express?

У меня есть запрос, отправленный на сервер:

"/stuff?a=a&b=b&c=c"

Используя экспресс, как мне получить эти значения?

Я пробовал следующее...

app.get( "/stuff?:a&:b&:c", function( req, res ){});

... однако он, похоже, не распознает маршрут.

Заранее спасибо за помощь.


person user1031947    schedule 03.02.2013    source источник
comment
Я не пробовал это, но вы должны попробовать /stuff?a=:a&b=:b&c=:c   -  person chovy    schedule 03.02.2013


Ответы (2)


Не рекомендуется использовать строку запроса внутри маршрута.

В логике Express вам нужно создать маршрут для «/stuff». Строка запроса будет доступна в req.query.

person Dmitry Manannikov    schedule 03.02.2013
comment
Чтобы добавить к этому, Express прямо указывает, что строки запроса не учитываются при выполнении этих совпадений - expressjs.com/api.html< /а> - person Hector Correa; 04.02.2013

Вы можете объявить свой маршрут напрямую с помощью /stuff, тогда параметры запроса будут доступны через req.query, который является объектом JSON. Вот ваш пример:

app.get("/stuff", function(req, res) {
    var a = req.query.a;
    ...
});

В вашем случае req.query равно:

{ a: 'a',
  b: 'b',
  c: 'c' }

В документации Express (4.x и 3.x) вы можете найти дополнительные примеры: Express - req.query< /а>.

person Marco    schedule 06.08.2014