当从客户端查询时,带有Param的Express.js路由正在产生404

时间:2016-12-23 00:57:16

标签: ajax node.js express parameters routes

我定义了一条服务器路由:(https://github.com/leptone/lang-exchange-react/blob/master/server.js

FieldText.text="";

我正在向客户提出这样的路线请求:(https://github.com/leptone/lang-exchange-react/blob/master/src/components/SignUp.js#L35

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)
    })
})

每次发出此请求时,我都会在客户端控制台中收到错误消息:

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

resp.text()返回的promise将解析为(即服务器对HTTP请求的响应):

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

无论出于何种原因,服务器的行为就像没有定义'/ user /:username'路由一样。

谁能告诉我这里缺少什么?任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:1)

我想你忘记了路线中的/:P
app.route('/user/:username')