我正在构建一个非常简单的应用程序来使用Express和Mongodb练习RESTful路由。
我的问题是,每当我尝试运行DELETE路由时,都会收到以下错误:Cannot DELETE /wordlist/59a7194293de6e03630401f6
这是删除路线:
app.delete("wordlist/:id", function(req, res){
Word.findByIdAndRemove(req.params.id, function(err){
if(err){
res.redirect("/");
} else {
res.redirect("/wordlist");
}
});
});
这是我用来运行使用ejs的删除路由的表单:
<form action="/wordlist/<%= word._id %>?_method=DELETE" method="POST">
<button>
Delete this word
</button>
</form>
另外,我已经安装并使用了方法覆盖。
知道我做错了吗?
答案 0 :(得分:2)
问题在于您指定的路线:
app.delete("wordlist/:id"...
你错过了一个领先的正斜杠。 将其更改为
app.delete("/wordlist/:id"...
它应该工作。
答案 1 :(得分:0)
您需要更改表单以使用删除动词
<form action="/wordlist/<%= word._id %>" method="DELETE">
<button>
Delete this word
</button>
</form>