проблема экспресс-запроса js, передача нескольких значений / коллекции для ключа запроса - PullRequest
1 голос
/ 23 марта 2019

Мне нужно передать несколько значений, т.е. коллекцию для определенного ключа запроса в экспрессе.

Моя память, возможно, обманывает меня, но я склонен полагать, что где-то в Интернете я видел нечто подобное:

http://<somehost>/<somepath>?id[]=10&id[]=11&id[]=12

Я знаю, что Ruby on Rails возвращает эти querystring значения в виде массива, но я подумал, что у express было несколько похожее querystring поведение, но я не могу найти его в их документации.

Я что-то пропустил?

1 Ответ

0 голосов
/ 23 марта 2019

Тем временем я обнаружил, что он на самом деле работает с express.

Эта строка запроса

http://<somehost>/<somepath>?id[]=10&id[]=11&id[]=12

анализируется в массиве с помощью экспресс-js.Таким образом,

req.query.id => ["10","11","12"]

Это должно быть упомянуто в экспресс-документации.

Фактически, в экспрессе используется пакет с именем 'qs', на который стоит присмотреться:

https://github.com/ljharb/qs

Он даже делает глубокое вложение, как

http://<somehost>/<somepath>?persona[country][birth]=us&person[country][resident]=de

, которое анализируется в

{ person: { country: { birth: 'us', resident: 'de' } } }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...