在我的nodejs和“express”应用程序中,我有这个:
app.get("/:page?", function (req, res) {
var pg = req.params.page;
,对应localhost:123
或localhost:123/3
。
但是,我希望能够通过req.params.page
,获取当前页面,但网址应为localhost:123
或localhost:123/?page=X
。
如何?
答案 0 :(得分:2)
我的第一个建议是您没有使用/:variable
定义您的终端。然后,这将匹配您创建的遵循该模式的任何路线。您应该使用类似/pages/:page
的内容来获取特定页面
然后,您应该使用Express中的URL参数功能来包含URL参数。
像这样定义你的路线:
app.get("/pages/:page", function (req, res) {
var pg = undefined;
if (req.query.page) {
pg = req.query.page;
}
}
然后,您可以访问req.query.page中的页面(如果存在)并使用该值执行任何操作。
例如,您可以使用localhost/pages/123?page=3
提交请求。
req.query.page
等于3,req.params.page
等于123。
答案 1 :(得分:0)
您应该在没有?
的情况下定义路线,如果您执行get操作,例如在localhost:123/3?this=that
上,则req.query.this
将填充值that