3 ответов:
req.paramsсодержит параметры маршрута (в части пути URL), иreq.queryсодержит параметры запроса URL (после?в URL).вы также можете использовать
req.param(name)чтобы найти параметр в обоих местах (а такжеreq.body), но этот метод является теперь устаревшим.
учитывая этот маршрут
app.get('/hi/:param1', function(req,res){} );и учитывая этот URL
http://www.google.com/hi/there?qs1=you&qs2=tubeвы будете:
req.запрос
{ qs1: 'you', qs2: 'tube' }req.params
{ param1: 'there' }
Теперь вы можете получить доступ к запросу с помощью точечной нотации.
Если вы хотите получить доступ, скажите, что вы получаете GET запрос в
/checkEmail?type=email&utm_source=xxxx&email=xxxxx&utm_campaign=XXи вы хотите, чтобы fetch вне запрос используется.var type = req.query.type, email = req.query.email, utm = { source: req.query.utm_source, campaign: req.query.utm_campaign };Params используются для самостоятельного определения параметра для получения запроса, что-то вроде (пример):
router.get('/:userID/food/edit/:foodID', function(req, res){ //sample GET request at '/xavg234/food/edit/jb3552' var userToFind = req.params.userID;//gets xavg234 var foodToSearch = req.params.foodID;//gets jb3552 User.findOne({'userid':userToFind}) //dummy code .then(function(user){...}) .catch(function(err){console.log(err)}); });
Comments