【问题标题】:Cannot GET /delete无法获取/删除
【发布时间】:2025-11-30 07:10:02
【问题描述】:

所以我试图删除 Mongodb 上的一个文档,但我得到了无法删除的错误

删除路线

router.delete("/delete/:id",(req,res)=>{
    filmModel.deleteOne({_id:req.params.id})
    .then(()=>{
        res.redirect("/product-listings");
    })
    .catch(err=>console.log(`Error deleting : ${err}`))
})

中间件改删除方法

app.use((req,res,next)=>{
    if(req.query.method=="PUT"){
        req.method="PUT"
    }
    else if(req.query.method=="DELETE"){
        req.method=="DELETE"
    }
    next();
})

请求被调用的地方

<a href="/delete/{{this._id}}?method=DELETE" class="btn4"><button id="listing-btn" type="button">Delete</button></a>

【问题讨论】:

  • &lt;a&gt; 元素可能包含&lt;button&gt; 元素。如果您想要一个看起来像按钮的链接:应用 CSS。

标签: javascript node.js mongodb express handlebars.js


【解决方案1】:

有“==”而不是“=”

else if(req.query.method=="DELETE"){
        req.method=="DELETE"
    }

应该是

else if(req.query.method=="DELETE"){
        req.method="DELETE"

    }

【讨论】: