0

好的,所以我不确定为什么会这样。我尝试搜索此内容,但我不知道如何措辞 - 例如“多个 url 段不触发路由”。?

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

使用 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) - 一切正常,路由触发,我得到我的参数。

路由中的代码是设置来处理进来的物品的,但是不明白为什么这种格式的路由没有触发。再次,节点以 404 not found 多段 url 回复。有任何想法吗?我希望我只是错过了一些简单的东西并且看不到它。提前感谢您的任何帮助/想法!

4

1 回答 1

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"
}

我只是通过创建一个新的 express 项目并为理智定义上述路线来做到这一点。它对我来说效果很好,所以我认为它可能是你的app.js/server.js文件的其他部分给你这个问题。

于 2013-06-08T03:09:31.810 回答