使用get参数的Node.js / Express路由

比方说,我有这样的路线:

app.get('/documents/format/type', function (req, res) { var format = req.params.format, type = req.params.type; }); 

所以,如果我提出要求

 http://localhost:3000/documents/json/mini 

在我的格式和typesvariables将分别是'json'和'迷你',但如果我提出要求

 http://localhost:3000/documents/mini/json 

不。 所以我的问题是:我怎样才能得到不同的顺序相同的variables?

你的路线不好,应该是这样的(用':')

 app.get('/documents/:format/:type', function (req, res) { var format = req.params.format, type = req.params.type; }); 

你也不能交换参数顺序不幸的。 有关req.params (和req.query )的更多信息,请查看这里的api参考。

考虑使用常用的domain.com/test?format=json&type=mini格式,然后您可以轻松地通过

 app.get('/test', function(req, res){ var format = req.query.format, type = req.query.type; });