如何将url参数绑定到express / node.js中的回调函数?

时间:2014-02-06 20:04:53

标签: javascript node.js express mean-stack

我有回调函数,它接受4个参数,如

function findFriend(req, res, name, year) {
// here I have tried to read

}

我希望绑定到像

这样的网址
app.get('/api/name/:name/year/:year/student', students.findFriend);

我希望将名称绑定到名称和年份,但它未定义。我也尝试将参数读作req.params.name和req.params.year(也是req.query.name和req.query.year),但它总是未定义的。如何将url参数绑定到回调函数?

2 个答案:

答案 0 :(得分:1)

nameyear的值将分别位于req.params.namereq.params.year内。

Express不知道如何将它们作为单独的参数传递给您的函数,但您可以(1)在students.findFriend函数内处理它们,或者(2)定义一个将从req.params函数中提取它们的包装函数{1}}对象并传递它们。

答案 1 :(得分:1)

app.get('/api/name/:name/year/:year/student', function(req, res) {
  students.findFriend(req, res, req.params.name, req.params.year)
})