Ich verwende Express mit Knoten und habe eine Anforderung, in der der Benutzer die URL anfordern kann als : http://myhost/fruit/apple/red
.
Eine solche Anforderung gibt eine JSON-Antwort zurück.
Die JSON-Daten vor dem obigen Aufruf sehen wie folgt aus:
{
"fruit": {
"apple": "foo"
}
}
Bei der obigen Anforderung sollten die Antwort-JSON-Daten lauten:
{
"apple": "foo",
"color": "red"
}
Ich habe Express so konfiguriert, dass es wie folgt routet:
app.get('/fruit/:fruitName/:fruitColor', function(request, response) {
/*return the response JSON data as above using request.params.fruitName and
request.params.fruitColor to fetch the fruit apple and update its color to red*/
});
Das geht aber nicht. Ich bin mir nicht sicher, wie ich mehrere Parameter übergeben soll, das heißt, ich bin mir nicht sicher, ob dies /fruit/:fruitName/:fruitColor
der richtige Weg ist. Ist es?
/fruit/:fruitName/vegetable/:vegetableName'
req.params.fruitName
undreq.params.vegetableName
/fruit
in diesem Fall unter "/fruit/js/main.js
Wo ichpublic/js/main.js
meine statischen Dateien habe" angesprochen werden.Für das, was du willst, hätte ich verwendet
app.get('/fruit/:fruitName&:fruitColor', function(request, response) { const name = request.params.fruitName const color = request.params.fruitColor });
oder noch besser
app.get('/fruit/:fruit', function(request, response) { const fruit = request.params.fruit console.log(fruit) });
wo Obst ein Objekt ist. In der Client-App rufen Sie einfach an
https://mydomain.dm/fruit/{"name":"My fruit name", "color":"The color of the fruit"}
und als Antwort sollten Sie sehen:
// client side response // { name: My fruit name, color:The color of the fruit}
quelle