64 Stimmen

Node.js/Express Routing mit GET-Parametern

Angenommen, ich habe eine Get-Route wie diese:

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

Wenn ich also eine Anfrage wie diese sende

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

werden meine Format- und Typvariablen 'json' bzw. 'mini' sein, aber wenn ich eine Anfrage wie diese sende

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

werden sie es nicht sein. Meine Frage ist also: Wie kann ich die gleichen Variablen in unterschiedlicher Reihenfolge erhalten?

173voto

alessioalex Punkte 60195

Deine Route ist nicht in Ordnung, sie sollte so aussehen (mit ':')

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

Leider kannst du auch nicht die Reihenfolge der Parameter vertauschen. Für weitere Informationen zu req.params (und req.query) schau dir die API-Referenz hier an.

58voto

SCBuergel Punkte 1502

Für Abfrageparameter wie example.com/test?format=json&type=mini Format, können Sie es dann ganz einfach über req.query. abrufen.

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

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X