【问题标题】:Why does express (node.js) require params for delete request?为什么 express (node.js) 需要参数来删除请求?
【发布时间】:2020-10-16 10:09:03
【问题描述】:

我制作了 todo react 应用程序,其中用户单击删除按钮它会将删除请求获取到我的 node.js 服务器。

const deleteTodo = (id) => {
  const q = `DELETE FROM todos WHERE id=${id}`;
  connection.query(q, (err, results) => {
    if (err) throw err;
    console.log('delete', results)
  })
}

但是,当我简单地使用下面的路由器选项时,

app.delete('/', function (req, res) {
  (some function) 
})

应用不会像这样删除。

另一方面,通过简单地制作它

app.delete('/todos/:id', function (req, res) {
  (some function) 
})

它将再次开始运行。

为什么会这样?

【问题讨论】:

    标签: mysql node.js reactjs express


    【解决方案1】:

    我认为您的问题缺少一些信息。
    特别是,您如何调用 deleteTodo 以及实际错误是什么。

    如果我猜测一下,当指定/todos/:id 时,就可以使用req.params.id
    然而,当它是/ 时,req.params.id 是未定义的。 当req.params.id未定义时,查询无效。

    详情请参阅express documentation

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-06-10
      • 2020-11-16
      • 1970-01-01
      • 2017-08-13
      • 1970-01-01
      • 2013-05-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多