【问题标题】:Passing unknown number of params to NodeJS routes将未知数量的参数传递给 NodeJS 路由
【发布时间】:2012-10-23 02:39:02
【问题描述】:

如何将未知数量的参数传递给 NodeJS 路由,并将它们保存到数组中?:

http://127.0.0.1:3000/param1/param2/param3...

我想过做:

app.get('/*', myHandler);

只是对字符串进行标记,但应该有更好的方法。

【问题讨论】:

标签: node.js express


【解决方案1】:

看起来您正在 NodeJS 中使用快速路由。如果是这样,您可能想尝试使用正则表达式。如下所示将为您提供 req.params[0] 中的完整路径(/vararg/),但可能有更好的方法:

app.get(/^\/vararg\/(.*)/, function(req,res) {  
    res.send("Got parameters : " + req.params[0]); 
})

因此,如果我在 localhost:3000/vararg/foo/bar/gar 上进行获取,它将发送:

得到参数:foo/bar/gar

或者 localhost:3000/vararg/foo 会产生:

得到参数:foo

然后您可以将参数拆分为其他部分。

【讨论】:

    猜你喜欢
    • 2021-04-24
    • 2011-05-06
    • 1970-01-01
    • 2023-03-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-03
    • 2018-08-14
    相关资源
    最近更新 更多