javascript - 为什么我们必须在路由参数 "/:userQuery" 中使用冒号 (:)
问题描述
为什么我们必须在路由参数 "/:userQuery" 中使用冒号 (:)
const express = require("express");
const app = express();
app.set("view engine", "ejs");
app.listen(3000);
app.get("/:userQuery", (req, res) => {
res.render("about", {
title: "about page",
data: { userQuery: req.params.userQuery },
});
});
解决方案
app.get("/info/:parameter/test", (req, res) => {
console.log(req.params.parameter);
});
因此,如果您现在访问 https://localhost/info/abc/test,控制台日志现在将记录abc
.
这就是为什么您可以在您的情况下执行 /about/userhere 的原因。对于删除 : 的情况,获取错误无法获取 /about。那是因为它是 now /userQuery
,但显然 req.params.userQuery 现在将是未定义的。
推荐阅读
- php - Model::update() 不应该被静态调用
- google-sheets - 自动填充列表的上一行
- c# - C# AD 奇数结果
- azure - Azure 存储 - 帐户不支持 BlobInventoryPolicy 的原因
- ansible - 用于 Raspbian 10 的 ansible nmcli
- postfix-notation - 在 RPN(后缀)计算器中实现最大运算符
- excel - 如何循环浏览 OLAP 数据透视表字段项?
- javascript - 浏览器中的本地存储不增加?
- python - 如何在保持顺序的情况下更新 numpy 数据中的非连续组
- python - 尝试在 PyGame 库上制作贝塞尔曲线