2013-02-03 26 views
12

Ich habe wird eine Anfrage an den Server gesendet:Wie Parsen Variablen in Querystring mit Express?

"/stuff?a=a&b=b&c=c" 

Mit express, wie bekomme ich diese Werte?

ich folgendes versucht haben ...

app.get("/stuff?:a&:b&:c", function(req, res){}); 

... aber scheint es nicht, um die Strecke zu erkennen.

Vielen Dank (im Voraus) für Ihre Hilfe.

+0

Ich habe dies nicht versucht, aber Sie sollten versuchen/stuff? A =: a & b =: b & c =: c – chovy

Antwort

19

Es ist keine gute Idee, eine Abfragezeichenfolge innerhalb einer Route zu verwenden.

In Express-Logik müssen Sie eine Route für "/ stuff" erstellen. Die Abfragezeichenfolge ist in req.query verfügbar.

+5

Um dies hinzuzufügen, ausdrücklich Express sagt "Abfragezeichenfolgen werden nicht berücksichtigt, wenn diese Übereinstimmungen durchgeführt werden" - http://expressjs.com/api.html –

20

Sie können Ihre Route direkt mit /stuff deklarieren, dann Abfrageparameter sind über req.query, die ein JSON-Objekt ist, zugänglich. Hier ist Ihr Beispiel:

app.get("/stuff", function(req, res) { 
    var a = req.query.a; 
    ... 
}); 

In Ihrem Fall ist req.query gleich:

{ a: 'a', 
    b: 'b', 
    c: 'c' } 

In Express' Dokumentation (entweder 4.x und 3.x) können Sie weitere Beispiele finden: Express - req.query .

Verwandte Themen