2017-07-04 2 views
0

Ich habe auf SO für eine identische Fragen, da ich denke, das ist ein ziemlich einfacher Fehler meinerseits, aber das nächste, was ich gefunden habe, ist this link. Ich lerne Node.JS, und bin ein relativ einfaches Endpunkt Schreiben erhalten Anfragen für einen bestimmten Künstler zu erhalten:Express Router GET Anfrage console.log zeigt undefined Anfrage Parameter

router.get("/:artistID", (req, res) => { 
    console.log(req.params); 
    console.log(req.params.artistId); 
    res.send(req.params); 
}) 

Was ich zu erwarten ist 1), ein JSON-Objekt mit {artistID: " whatIsent "}, 2) ein" whatIsent "und dann 3) das gleiche JSON-Objekt als eine Antwort, wenn ich ein API-Testprogramm wie Postman verwende.

Ergebnisse 1) und 3) auftreten, wie erwartet, aber hier ist es, was ich in meiner Konsole sehen:

{ artistID: 'whatIsent' } 
undefined 

ist die GET-Anfrage sende ich: http://localhost:8080/artists/whatIsent.

Was genau ist los? Express übersetzt artistId in ein Zwischenobjekt, das keine Zeichenfolge ist?

Edit: Ich habe typeof req.params.artistId, und es gibt auch nicht definiert ...

+4

'artistId! == artistID' –

+2

Oh Schatz ... jetzt fühle ich mich wie ein Idiot. Du willst die Frage einfach beantworten und ich akzeptiere sie, damit wir das schließen können und vergisst, dass es jemals passiert ist? –

Antwort

1

Sie haben einen Tippfehler in Ihrem Code.

Es sollte artistID statt artistId sein.

2

Sie definieren die Variable als artistID und versuchen artistId zu bekommen. Parameter sind Groß- und Kleinschreibung.