将未知数量的参数传递给NodeJS路线

时间:2012-10-22 18:03:24

标签: node.js express

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

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

我想过:

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

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

1 个答案:

答案 0 :(得分:2)

看起来你在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

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