Каждая переменная, которую вы отправляете в URL-адресе с :
, принимается с req.params
Это свойство является объектом, содержащим свойства, сопоставленные с именованным маршрутом «параметры» . Например, если у вас есть маршрут / пользователь /: имя, тогда свойство «имя» доступно как req.params.name. По умолчанию этот объект имеет значение {}.
// will be available in route in req.params object
router.get('/somepath/with/:variable', (req ,res) => {
console.log(req.params.variable);
});
Каждая переменная, которую вы отправляете в URL после ?
(параметры запроса), будет доступна в req.query
Это свойство представляет собой объект, содержащий свойство для каждого параметра строки запроса в маршруте. Когда синтаксический анализатор запросов отключен, это пустой объект {}, в противном случае он является результатом настроенного синтаксического анализатора запроса.
// will be available in route in req.query object
router.get('/somepath/with/variables?page=2&limit=3&sort=price', (req ,res) => {
console.log(req.query.page);
console.log(req.query.limit);
console.log(req.query.sort);
});
все данные, которые вы отправляете через ajax или формы или что-то в этом роде будет получено с помощью req.body
Содержит пары ключ-значение данных, представленных в теле запроса. По умолчанию он не определен и заполняется, когда вы используете промежуточное ПО для анализа тела, такое как express. json () или express .urlencoded ().
// will be available in route in req.body object
router.get('/somepath/with/variables', (req ,res) => {
// send in request body like for example form data:
console.log(req.body.variable1) // i.e
});
Это это три объекта, которые собирают данные тремя разными способами. Вам нужно просто выбрать то, что подходит для вашей сцены. Я думаю, что параметры маршрута - неправильный вариант, и вам следует go с req.query
, когда переменные прибывают случайным образом, но вы должны знать, как обрабатывать их, как только они будут проанализированы в соответствующем объекте.
Надеюсь Я понял вопрос и уточнил.