2016-12-23 4 views
1

ich als einen solchen Server-Route festgelegt: (https://github.com/leptone/lang-exchange-react/blob/master/server.js)Express.js Strecke mit Param zeitigt 404, wenn vom Kunden Queried

app.route('user/:username') 
.get((req, res) => { 
    console.log(req.params.username) 
    db.findOne({ 
     username: req.params.username 
    }, (err, user) => { 
     if (err) throw err 
     else if(!user) res.send(true) 
     else res.send(false) 
    }) 
}) 

ich eine Anfrage an die Route vom Client wie diese machen :(https://github.com/leptone/lang-exchange-react/blob/master/src/components/SignUp.js#L35)

fetch(`/user/${username}`) 
     .then(resp => resp.text()) 
     .then(answer => console.log(answer)) 
     .catch(err => console.error(err)) 

Jedes Mal, wenn ich diese Anfrage ich eine Fehlermeldung in der Client-Konsole bekommen machen:

GET <DNS>:<PORT>/user/test 404 (Not Found) 

Und das Versprechen von resp.text() zurückgegeben wird aufgelöst zu (dh die Antwort des Servers an die HTTP-Anfrage):

Cannot GET /user/test 

Aus welchem ​​Grunde der Server als ob die ‚/ user /: username‘ verhält Route ist nicht definiert.

Kann mir jemand sagen, was ich hier vermisse? Jede Hilfe würde sehr geschätzt werden!

Antwort

1

Ich glaube, Sie ein / in Ihrer Route vergessen: P
app.route('/user/:username')