Node.js 为什么req.params.id未定义?
我想知道为什么在我尝试使用它时req.params.id没有定义;以下是一条需要它的路线:Node.js 为什么req.params.id未定义?,node.js,sequelize.js,Node.js,Sequelize.js,我想知道为什么在我尝试使用它时req.params.id没有定义;以下是一条需要它的路线: router.get("/:id", async (req, res) => { const screening = await Screenings.findByPk(req.params.id); res.json(screening); }); 我通过单击按钮访问它,该按钮根据我选择的元素转发它: {projectionsList.map((value, key) =&g
router.get("/:id", async (req, res) => {
const screening = await Screenings.findByPk(req.params.id);
res.json(screening);
});
我通过单击按钮访问它,该按钮根据我选择的元素转发它:
{projectionsList.map((value, key) => {
return (
...
<button type="button" onClick={() => history.push(`/makereservation/${value.id}`)}> Rezervisi mesto</button>
...
</div>
);
})}
下面是获取所有筛选的查询:
const screenings = await sequelize.query("SELECT `screenings`.`id`, `starts_at_time`, `starts_at_date`, `title`, `name`, `image`, `price` FROM `screenings`, `movies`, `halls` WHERE `HallId` = `halls`.`id` AND `MovieId` = `movies`.`id`", { type: QueryTypes.SELECT });
路由在index.js中定义:
const screeningRouter = require('./routes/Screenings');
app.use("/screenings", screeningRouter);
有人能帮忙吗?谢谢。您是否在get请求中传递Id?是的,正如您在问题中看到的那样,有“/:Id”。如果我在我的环境中运行相同的代码,并且
http://localhost:3000/1111
它将1111
作为路由处理程序中的id提供给我。您可以添加路由文件或app.js文件吗?我认为您的路由配置不正确。你给我们看的代码是正确的。我编辑了这个问题,你可以看到路线是在哪里定义的。顺便说一句,当我在rest客户机中使用id(例如“”)时,它起作用了,我从数据库中获得了所需的对象。
const screeningRouter = require('./routes/Screenings');
app.use("/screenings", screeningRouter);