58 votes

Routage Node.js/Express avec get params

Disons que j'ai un itinéraire comme celui-ci :

 app.get('/documents/format/type', function (req, res) {
   var format = req.params.format,
       type = req.params.type;
});

Donc si je fais une demande comme

 http://localhost:3000/documents/json/mini

dans mes variables de format et de type seront respectivement 'json' et 'mini', mais si je fais une demande comme

 http://localhost:3000/documents/mini/json

ne pas. Ma question est donc : comment puis-je obtenir les mêmes variables dans un ordre différent ?

159voto

alessioalex Points 27001

Votre itinéraire n'est pas ok, il devrait être comme ça (avec ':')

 app.get('/documents/:format/:type', function (req, res) {
   var format = req.params.format,
       type = req.params.type;
});

De plus, vous ne pouvez malheureusement pas échanger l'ordre des paramètres. Pour plus d'informations sur req.params (et req.query ), consultez la référence de l'API ici .

50voto

Sebastian Points 3

Pour les paramètres de requête tels que le domain.com/test?format=json&type=mini , vous pouvez facilement le recevoir via - req.query.

 app.get('/test', function(req, res){
  var format = req.query.format,
      type = req.query.type;
});

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X