如何在Express中路由动态URL

时间:2017-05-23 19:39:00

标签: javascript node.js express routing

说我有以下网址:

/page?name=myname&age=25

名称和年龄具有动态值。

如何为此页面构建路由器获取功能?

选项1:

router.route("/page").get(function(req, res) {
    console.log("got page");
}

选项2:

router.route("/page?name&age").get(function(req, res) {
    console.log("got page");
}

3 个答案:

答案 0 :(得分:3)

将是

router.route("/page").get(function(req, res) {
    console.log("got page");
}

?name = myname& age = 25 =>是req参数。可以通过

访问
req.query.name
req.query.age

答案 1 :(得分:0)

您可以使用req.query.namereq.query.age,因为您不需要特定的路线,只需router.route("/page")...

您还可以使用:Route parameters获取干净的网址

答案 2 :(得分:0)

您可以为页面构建路径:

router.route("/page").get(function(req, res) {
    console.log("got page");
}

,对于查询参数,您可以访问它们:

req.query.YOUR_QUERY_NAME

因此,在您的情况下,它将变为req.query.namereq.query.age,它将返回值" myname"和25分别。

您可以在Documentation page

上阅读更多内容

如果您还拥有或计划拥有以下路线: http://localhost:3000/name/user/age/84

在这种情况下,您可以将路由配置为:

router.route("/name/:myName/age/:myage").get(function(req, res) {
name = req.params.myName;
age = req.params.myage;
});

如果req.params将返回console.log将返回{"myName":"user", "myage":"84"}对象,那么BottomNavigationBar会返回值为params的对象req.params

您可以从Route params link

了解更多有关路线参数的信息