我尝试使用Express检索多个GET参数,但req.params始终为空.我不完全确定如何使用Express 4正确地做到这一点,因为答案变化很大,因为我认为Express/Node.js的新版本发生了很大变化.
这是我的URL调用:
http://localhost:3000/accounts/players?term=asddsa&_type=query&q=asddsa
http状态代码实际上是200,因此该地址实际存在.
这是我的路由器:
router.get('/players', function(req, res) {
    var searchTerm = req.term;
    console.log("Term: " + JSON.stringify(req.params));
    res.json({"result": "Account deleted"});
});
控制台日志输出是:
Term: {}
我尝试过不同的东西,比如:
router.get('/players/:term/:_type/:q', function(req, res) {
但这导致了GET请求的404.
当您在'?'后输入url参数时 正如你所做的那样 - 参数将req.query低于req.params,而不是如此:
router.get('/players', function(req, res) {
    var searchTerm = req.term;
    console.log("Term: " + JSON.stringify(req.query));
    res.json({"result": "Account deleted"});
});
如果您想使用params - 您的网址应如下所示:
http://localhost:3000/accounts/players/asddsa/query/asddsa
并且可以在尝试时编写路由器功能:
router.get('/players/:term/:_type/:q', function(req, res) {