【问题标题】:Node.js & EJS 404 Error when Calling delete method调用删除方法时 Node.js 和 EJS 404 错误
【发布时间】:2018-04-06 06:27:46
【问题描述】:

我遇到的问题是我正确获取了项目 ID,但是当删除方法被调用时,它只会返回 404 错误。下面是使用的代码: 前端

<% for(var i=0; i<projects.length; i++) {%>
              <tr>

                <td>  <%= projects[i].projectName %> </td>
                <td>  <%= projects[i].engineer %> </td>
                <td>  <%= projects[i].finalCost %> </td>
                <td>  <%= projects[i].status %>  </td>
                <td>

                  <button type="button" class="btn btn-outline-warning">Edit</button>
                  <form method="post" action="/delete/<%=projects[i]._id%>">
                    <button type="submit" name="delete" class="btn btn-outline-danger">Delete</button>
                    <input type="hidden" name="_method" value="DELETE" />
                  </form>
                </td>
              </tr>
                 <%}%>

后端

app.delete('/delete/:_id', function(req, res, next){
  console.log(req.params._id);
var project = {_id: req.params._id};
db.collection('projects').remove({_id: project},(err, result) => {
  if (err) return console.log(err)

  console.log('deleted from database')
  res.redirect('/profile')
})
});

【问题讨论】:

  • 试试 res.redirect("back")
  • @ŞükranEken 没有修复它,不过感谢您的提示。

标签: javascript node.js mongodb ejs


【解决方案1】:

第 1 步删除 ejs 文件中的表单并添加 &lt;a href="/delete/&lt;%=projects[i]._id%&gt;"&lt;a&gt;

第 2 步将 app.delete 更改为 app.get

【讨论】:

    猜你喜欢
    • 2018-05-21
    • 1970-01-01
    • 2014-04-02
    • 1970-01-01
    • 2012-11-12
    • 2015-06-20
    • 1970-01-01
    • 2023-03-11
    • 2014-12-08
    相关资源
    最近更新 更多