将我的 Express 应用路由到另一个文件后,如何访问 URL 参数?
How do I access URL parameter after i've routed my express app to another file?
我的主要 Express 服务器在 Node.js 中称为 app.js。
app.use("/login", require(./routes/login));
app.use("/:id", require("./routes/users"));
当我尝试访问 URL 参数时,它 returns 未定义。
我试过记录 req.params:
const express = require('express');
const router = express.Router();
router.get('/dashboard', (req, res) => {
res.send(`Current Ornament Status and Data for ${req.params}`);
});
module.exports = router;
它给了我一个空数组。
我想是路由后在另一个文件中无法访问该参数。你能建议一个解决方法吗?
我认为您遗漏了一些关于 express.js 路由的基本信息,因此无法理解。
要求行意味着它正在加载另一段代码。所以你也需要向我们展示这一点。
:id 的东西需要更长的解释。
假设我希望服务器处理 URL /finduser/23
23 可以变化,几乎可以是任何数字。我不会写 99 个不同版本的 router.get,对吧?
router.get("/finduser/1",...
router.get("/finduser/2",...
router.get("/finduser/3",...
不,我们做的是把它变成一个参数
router.get("/finduser/:id",...
然后我们传递的任何数字变成req.params.id,假设路由器传递req,res
EX:如果我们传递 URL /finderuser/15,那么 req.params.id = 15
如果您只是传递 /finduser,那么 req.params.id 什么也得不到。
此处提供完整详细信息
http://expressjs.com/en/guide/routing.html#route-parameters
你的例子:
router.get('/dashboard', (req, res)
没有任何参数。所以 req.params.id 什么都没有。
我的主要 Express 服务器在 Node.js 中称为 app.js。
app.use("/login", require(./routes/login));
app.use("/:id", require("./routes/users"));
当我尝试访问 URL 参数时,它 returns 未定义。
我试过记录 req.params:
const express = require('express');
const router = express.Router();
router.get('/dashboard', (req, res) => {
res.send(`Current Ornament Status and Data for ${req.params}`);
});
module.exports = router;
它给了我一个空数组。
我想是路由后在另一个文件中无法访问该参数。你能建议一个解决方法吗?
我认为您遗漏了一些关于 express.js 路由的基本信息,因此无法理解。
要求行意味着它正在加载另一段代码。所以你也需要向我们展示这一点。
:id 的东西需要更长的解释。
假设我希望服务器处理 URL /finduser/23
23 可以变化,几乎可以是任何数字。我不会写 99 个不同版本的 router.get,对吧?
router.get("/finduser/1",...
router.get("/finduser/2",...
router.get("/finduser/3",...
不,我们做的是把它变成一个参数
router.get("/finduser/:id",...
然后我们传递的任何数字变成req.params.id,假设路由器传递req,res
EX:如果我们传递 URL /finderuser/15,那么 req.params.id = 15
如果您只是传递 /finduser,那么 req.params.id 什么也得不到。
此处提供完整详细信息 http://expressjs.com/en/guide/routing.html#route-parameters
你的例子:
router.get('/dashboard', (req, res)
没有任何参数。所以 req.params.id 什么都没有。