【发布时间】:2021-12-20 13:10:40
【问题描述】:
我从数据库中删除一个对象时遇到错误,但是,当我使用 Postman 测试我的代码时它可以工作,所以我认为我的 ejs 语法不正确。
ejs 代码
<center> <a class="delete_category_a" href="/halalMunchies/update-category/<%= category._id%>" style="color: red "> Delete </a> </center>
删除路线
exports.deleteCategory = (req, res, next) => {
console.log('DELETE CATEGORY /delete-category');
const id = req.params.id;
categorySchema.findByIdAndDelete(id)
.then(result => {
//res.redirect('/halalMunchies/all-categories');
res.send(console.log(result));
})
.catch(err => {
console.log(err);
});
};
浏览器错误
Cannot GET /halalMunchies/delete-category/6187cb11e3b98a7aa70a277a
【问题讨论】:
-
您页面中的链接发出 GET 请求,但您的路由是为 DELETE 请求定义的,因此您的路由永远不会匹配。您还将此链接嵌入到表单 POST 中,但实际上从未执行任何操作,因为没有提交表单。
-
那么你认为我应该如何解决这个问题
-
我写了一个答案,概述了一些选项。
标签: node.js mongoose frontend backend ejs