Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/381.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 从';检索数据时出现问题;要求参数';在Express应用程序中_Javascript_Node.js_Mongodb_Express_Mongoose - Fatal编程技术网

Javascript 从';检索数据时出现问题;要求参数';在Express应用程序中

Javascript 从';检索数据时出现问题;要求参数';在Express应用程序中,javascript,node.js,mongodb,express,mongoose,Javascript,Node.js,Mongodb,Express,Mongoose,我正在尝试从Express app获取数据模型的ID。在我的app.js中,我设置了 app.use('/grades/:id/students', studentRoutes); 因此,当我在任何路由.js文件中使用/:student\u id/show时,路由应该是这样的 /grades/:id/students/:student_id/show实际上是这样的,但问题是当我试图获取req.params.id时,我得到的是null,而不是id。我能够在没有任何问题的情况下获得req.para

我正在尝试从Express app获取数据模型的ID。在我的app.js中,我设置了

app.use('/grades/:id/students', studentRoutes);
因此,当我在任何路由
.js
文件中使用
/:student\u id/show
时,路由应该是这样的
/grades/:id/students/:student_id/show实际上是这样的,但问题是当我试图获取
req.params.id
时,我得到的是
null
,而不是
id
。我能够在没有任何问题的情况下获得
req.params.student\u id

这是我的学生路线

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);
    }
  });
});

有人请帮帮我

为了访问父路由器的参数,在创建子路由器时需要设置为
true

const router = express.Router({ mergeParams: true })

这回答了你的问题吗?非常感谢你,这很有帮助。