简体   繁体   English

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

[英]How to bind url parameters to callback function in express/node.js?

I have callback function which takes 4 parameters like 我有回调函数,它有4个参数,如

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

}

and I want to bind to url like 我想绑定到url之类的

app.get('/api/name/:name/year/:year/student', students.findFriend);

and I expect to bind name to name and year to year but it is undefined. 我希望将名称绑定到名称和年份,但它是未定义的。 I also have tried to read paramters as req.params.name and req.params.year (also req.query.name and req.query.year) but it is always undefined. 我也尝试将参数读作req.params.name和req.params.year(也是req.query.name和req.query.year),但它总是未定义的。 How to bind url parameters to callback function ? 如何将url参数绑定到回调函数?

The values for name and year will come inside the req.params.name and req.params.year respectively. nameyear的值分别位于req.params.namereq.params.year

Express does not know how to pass them as individual parameters to your function, but you can either (1) handle them inside your students.findFriend function or (2) define a wrapper function that will extract them from the req.params object and pass them down. Express不知道如何将它们作为单独的参数传递给你的函数,但是你可以(1)在students.findFriend函数中处理它们或者(2)定义一个包装函数,它将从req.params对象中提取它们并传递他们失望了。

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM