Подтвердить что ты не робот

req.query и req.param в ExpressJS

Основные различия между req.query и req.param в Express

  • Как оба отличаются друг от друга
  • Когда использовать тогда в каких случаях

Предположим, что клиент отправляет в запрос запрос пару Android (ключ, значение)........ какой из них использовать?

[EDIT]

Предположим, что android отправляет запрос POST → Намерение - отправить (ключ, значение) клиенту, а сервер должен выполнить запрос базы данных на основе значения на сервере и вернуть ответ JSON

Посмотрите:: на этот вопрос для указанной мной программы:: Программа Simple Express для запроса результата

4b9b3361

Ответ 1

req.query вернет объект JS после разбора строки запроса.

/user? name = tom & age = 55 - req.query даст {name:"tom", age: "55"}

req.params вернет параметры в согласованном маршруте. Если ваш маршрут является /user/: id, и вы делаете запрос /user/ 5 - req.params, вы получите {id: "5"}

req.param - это функция, которая отбирает параметры из запроса. Все это можно найти здесь.

UPDATE

Если глагол POST, и вы используете bodyParser, то вы должны иметь возможность получить тело формы в вашей функции с помощью req.body. Это будет проанализированная версия JS формы POST ed.

Ответ 2

Я бы предложил использовать следующие

req.param('<param_name>')

req.param("") работает как

Поиск выполняется в следующем порядке:

req.params
req.body
req.query

Прямой доступ к req.body, req.params и req.query должен быть одобрен для ясности - если вы действительно не принимаете ввод от каждого объекта.

Ссылка: http://expressjs.com/4x/api.html#req.param

Ответ 3

req.query - строка запроса, отправленная на сервер, пример /page? test = 1, req.param - это параметры, переданные обработчику.

app.get('/user/:id', handler);, идя в /user/blah, req.param.id вернет blah;

Ответ 4

Передача параметров

GET request to "/cars/honda" 

возвращает список моделей автомобилей Honda

Проходящий запрос

GET request to "/car/honda?color=blue"

возвращает список моделей автомобилей Honda, но отфильтрованный, поэтому возвращаются только модели со стандартным синим цветом.

Не имеет смысла добавлять эти фильтры в параметры URL (/car/honda/color/blue), потому что согласно REST это подразумевает, что мы хотим получить кучу информации о цвете "синий". Поскольку нам действительно нужен отфильтрованный список моделей Honda, мы используем строки запросов для фильтрации возвращаемых результатов.

Обратите внимание, что строки запроса на самом деле представляют собой просто пары {key: value} в несколько ином формате:? Key1 = value1 & key2 = value2 & key3 = value3.

Ответ 5

Предположим, вы определили название вашего маршрута следующим образом:

https://localhost:3000/user/:userid

который станет:

https://localhost:3000/user/5896544

Вот, если вы напечатаете: request.params

{
userId : 5896544
}

так

request.params.userId = 5896544

поэтому request.params - это объект, содержащий свойства для именованного маршрута

и request.query происходит из параметров запроса в URL, например:

https://localhost:3000/user?userId=5896544 

request.query

{

userId: 5896544

}

так

request.query.userId = 5896544