Wenn Sie in Node.js mit dem Express-Framework arbeiten, stoßen Sie oft auf den Bedarf, bestimmte Daten aus der URL eines HTTP-Anfragen zu extrahieren. Diese Daten können entweder im Pfad der URL (als sogenannte "Route Parameter") oder in der Abfragezeichenfolge enthalten sein.
Die korrekte Antwort auf die Frage, wie auf die Abfragezeichenfolgenparameter in einer Express-Route zugegriffen werden kann, ist req.query
.
req.query
In Express, enthält das req
-Objekt (kurz für "request") alle Informationen zu einer eingehenden Anfrage. Der Teil .query
dieses Objekts wird speziell verwendet, um auf die Abfragezeichenfolgenparameter zuzugreifen.
Angenommen Sie haben eine URL wie www.beispiel.de/suche?name=max&alter=20
. Hierbei sind name
und alter
die Abfragezeichenfolgenparameter. Um auf diese zuzugreifen, würden Sie den folgenden Code verwenden:
app.get('/suche', function(req, res){
var name = req.query.name;
var alter = req.query.alter;
// restliche Logik
});
In diesem Fall würde req.query.name
den Wert 'max' und req.query.alter
den Wert '20' zurückgeben.
Während req.query
zum Abrufen von Abfragezeichenfolgenparametern verwendet wird, dient req.params
zum Extrahieren von Routenparametern und req.body
zum Zugriff auf den Body der Anfrage, normalerweise bei POST-Anfragen, wo Daten im Body der Anfrage gesendet werden.
Es ist wichtig zu beachten, dass die Daten, die über req.query
abgerufen werden, immer im String-Format zurückgegeben werden. Daher ist es oft notwendig, eine geeignete Parse- oder Konvertierungsoperation durchzuführen, insbesondere wenn erwartet wird, dass die Daten numerisch sein sollen.