Есть ли разница между получением аргументов QUERY_STRING с помощью req.query[myParam]
и req.params.myParam
? Если да, то когда я должен использовать что?
node.js
query-string
Pavindu
источник
источник
req.param
устарела. Узел предлагает использоватьreq.query
илиreq.params
Учитывая этот маршрут
и учитывая этот URL
http://www.google.com/hi/there?qs1=you&qs2=tube
У вас будет:
REQ. запрос
REQ. Титулы
Экспресс-параметры запроса >>
источник
/
Предположим, вы определили имя своего маршрута следующим образом:
который станет:
Вот, если вы напечатаете: request.params
так
так что request.params - это объект, содержащий свойства для именованного маршрута
и request.query поступает из параметров запроса в URL-адресе, например:
request.query
так
источник
Теперь у вас должна быть возможность получить доступ к запросу, используя точечную нотацию.
Если вы хотите получить доступ, скажем, вы получаете запрос GET по адресу
/checkEmail?type=email&utm_source=xxxx&email=xxxxx&utm_campaign=XX
и хотите получить используемый запрос .Params используются для самоопределяемого параметра для получения запроса, например (пример):
источник
Я хочу упомянуть одно важное замечание
req.query
, потому что в настоящее время я работаю над функциональностью разбивки на страницы на основе,req.query
и у меня есть один интересный пример , который я могу вам продемонстрировать ...Пример:
Вы заметите
+
знак передreq.query.pageSize
иreq.query.currentPage
Зачем? Если вы удалите
+
в этом случае, вы получите сообщение об ошибке, и эта ошибка будет выдана, потому что мы будем использовать недопустимый тип (с сообщением об ошибке поле «limit» должно быть числовым).Важно : по умолчанию, если вы извлекаете что-либо из этих параметров запроса, это всегда будет строка , потому что она поступает по URL-адресу и обрабатывается как текст.
Если нам нужно работать с числами и преобразовывать операторы запроса из текста в числа, мы можем просто добавить знак плюса перед оператором.
источник