Node.js: разница между req.query [] и req.params

Есть ли разница между получением аргументов QUERY_STRING через req.query [myParam] и req.params.myParam? Если да, то когда я должен использовать какой?

Спасибо.

73 голоса | спросил user1598019 19 Jpm1000000pmSat, 19 Jan 2013 22:46:33 +040013 2013, 22:46:33

3 ответа


0

req.params содержит параметры маршрута (в части пути URL) и req.query содержит параметры запроса URL (после ? в URL).

Вы также можете использовать req.param(name) для поиска параметра в обоих местах (а также req.body), но это метод устарел.

ответил JohnnyHK 19 Jpm1000000pmSat, 19 Jan 2013 23:37:21 +040013 2013, 23:37:21
0

Учитывая этот маршрут

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'
}

Express req.params>>

ответил ruffrey 24 Jpm1000000pmThu, 24 Jan 2013 22:27:20 +040013 2013, 22:27:20
0

Теперь вы сможете получить доступ к запросу, используя точечную запись.

Если вы хотите получить доступ, скажем, вы получили запрос GET по адресу /checkEmail?type=email&utm_source=xxxx&email=xxxxx&utm_campaign=XX и хотите получить запрос используется.

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)});
});
ответил Animesh Singh 24 PM00000050000005231 2017, 17:48:52

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132