【发布时间】:2020-05-24 20:28:05
【问题描述】:
我的问题很难解释,所以我会尽力而为。
如果设置了路由器 类似的
app.get('/example/:id', function(req, res, next) { console.log(req.params.id); });
我的问题是,上面的这个例子只会捕获第一级的 :id 意思是“example.com/example/test”将在终端日志中返回“test”。
我将如何实现 example.com/example/test/sub1/sub2/sub3/sub4 所以我可以从 req.params.ids 获得所需的数组输出
{'test','sub1','sub2','sub3','sub4'}
我意识到我可以为我想要捕获的每个级别创建一个新路由器。 但我觉得有一种方法可以更简单地做到这一点。
【问题讨论】:
-
您可以随时使用参数,但更好的方法是使用 POST 并在正文中发送这些值。要在 req.params 中将它们用作多个,您可以看到这个 app.get('/example/:id/:sub1/:sub2', function(req, res, next) { console.log(req.params); } );这将为您提供一个值为 id、sub1 和 sub2 的对象
-
Post 是理想的,但是我需要这个作为一个获取请求作为它的前端所以 url 将指向上面的这个例子。
-
@UtkarshMehrotra 也有 app.get 就像你的例子一样,这意味着如果我要降级,get 命令将看不到这个路由器。我想我的问题是当涉及到路由器时是否表达“AND 或 OR”命令