我正试图从Express应用程序中获取数据模型的ID。在我的app.js里我设置了
app.use('/grades/:id/students', studentRoutes);
因此,当我在任何路由/:student_id/show
文件中使用.js
时,路由应该像/grades/:id/students/:student_id/show
那样出现,但问题是,当我试图获得req.params.id
时,我得到的是null
而不是id
。我得到了req.params.student_id
,没有任何问题。
这是我的studentRoute
router.get('/:student_id/show', (req, res) => {
Student.findById(req.params.student_id, (err, foundStudent) => {
try {
res.render('students/show', {
student: foundStudent,
path: 'student',
class_id: req.params.id,
});
console.log(req);
} catch (err) {
res.redirect('back');
console.log(err);
}
});
});
谁来帮帮我!!
发布于 2020-08-22 06:28:28
为了访问父路由器的params,在创建子路由器时需要将mergeParams设置为true
:
const router = express.Router({ mergeParams: true })
https://stackoverflow.com/questions/63537094
复制