【发布时间】:2016-05-27 08:23:54
【问题描述】:
我正在运行 Express 4。在 app.js 中我得到了:
var products = require('./routes/products');
var app = express();
app.use('/products', products);
然后,在路线/产品中:
router.get('/', function(req, res) {
//Some Code. Ok
});
router.get('/:code', function(req, res) {
//Some code. Not hit
});
我的问题是第二条路由在使用 code 参数调用时永远不会命中,它总是命中 /
http://localhost:3000/products?code=123 转到 /
我做错了什么?
【问题讨论】:
-
这不是你写路由器的方式:
http://localhost:3000/products/123应该能让你到达那里。否则,您将使用第一种形式,然后查看req.query -
@barry-johnson 以上评论是正确答案。
-
@barry-johnson 感谢您的回复。写下您的评论作为答案,将其标记为已解决
-
@barry-johnson 顺便问一下,如何设置路由以便接收代码作为查询字符串参数?
-
@Oscar - 我刚刚添加了一个答案,应该解释
req.query和req.params处理它的方法。