节点JS路由不使用多个段进行触发

时间:2013-06-07 18:49:29

标签: node.js express routes

好的,所以我不确定为什么会发生这种情况。我试着搜索这个,但我不确定如何说出来 - 类似于"多个网址段没有开火路线。" ?

无论哪种方式,我们都去......

使用node.js和Express:我的app.js中有一条路径如下:

app.get('/kosk/:id/:key', kosk.kosk);

如果我转到(http://my.nodeserv.com:8080/kosk/451/123456),我会从服务器上找不到404。

但如果我这样做:

app.get('/kosk/:id', kosk.kosk);

然后去这里(http://my.nodeserv.com:8080/kosk/451) - 一切正常,路线触发,我得到了我的参数。

路线中的代码设置为处理进入的项目,但我不明白为什么不会触发此格式的路线。同样,节点回答时找不到多段url的404。有任何想法吗?我希望我错过了一些简单的东西,并且无法看到它。提前感谢任何帮助/想法!

1 个答案:

答案 0 :(得分:0)

根据你的片段,它应该有用。您可能希望通过确保以下工作来验证它不是别的:

app.get('/foo/:bar/:baz', function(req, res) {
  res.json({
    bar: req.params.bar,
    baz: req.params.baz                                                                                      
  });
});

GET发送http://localhost:3000/foo/123/456请求时应回复:

{
  "bar": "123",
  "baz": "456"
}

我刚刚通过创建一个新的快速项目并定义上述理智路线来做到这一点。它对我有用,所以我认为它可能是您app.js / server.js文件的其他部分,它会解决您的问题。