所以我尝试制作一个NodeJS项目,该项目在index.ejs文件中包含一个表单。填写详细信息后,它将通过router.post()方法将表单的内容发送到mongoDB数据库。然后,它将用户导航到list.ejs页面,该页面显示mongoDB数据库中的所有记录。现在,我已为用户提供了编辑或删除表中显示的任何记录的选项。我正在使用findById()函数将记录的_id返回到index.ejs中的表单。但是,我无法这样做。我已经在下面发布了代码...
我输入了一个类型为'hidden',名称=“ _id”和值=“ employee._id”的输入字段。但是,这表明我找不到雇员。我不知道如何将ID返回此表单元素。
index.ejs
<form action="/employee" method="POST">
<input type="hidden" name="_id" value= "<%= employee._id %>">
list.ejs
<a href="/:id"><i class="fas fa-edit-alt"></i></a>
employeeController.js
const Employee = mongoose.model("employee");
router.get("/:id" , function (req, res) {
Employee.findById(req.params.id, function (err, docs) {
if(!err){
res.render("index" , {
employee : docs
});
}
});
});
因此,基本上,当用户单击编辑(字体效果图标)时,它将发送一个get请求到“ /”,该请求被router.get(“ /:id”)和单击的记录的ID捕获。 Employee是模型(以及模式),而req.params.id获取单击记录的ID。 我已经将文档存储在index.ejs文件中使用的employee对象中。但是,它显示了“找不到员工变量”错误。