【问题标题】:Why is Axios Delete giving me a 404 error?为什么 Axios Delete 给我一个 404 错误?
【发布时间】:2021-08-18 14:43:07
【问题描述】:

虽然我的 React 应用程序和我的 Express 应用程序中的 URL 似乎匹配,但我无法让 Axios.delete 工作。我收到控制台日志错误

'未捕获(承诺中)错误:请求失败,状态码为 404'。

谁能发现我做错了什么?我对 React 还很陌生。任何帮助,不胜感激。

前端代码如下:

  Axios.delete(`http://localhost:3001/delete/${id}`)
}

这是后端:

app.delete('/delete/:id', (req, res) => {
  db.query("DELETE FROM employees WHERE id = ?", id, (err, result) => {
    if (err) {
      console.log(err)
    } else {
      res.send(result)
    }
  })
});

【问题讨论】:

  • 你在后台得到id吗?您可能会发送nullundefined
  • Web 控制台或网络选项卡中是否有任何错误?这看起来像一个跨域调用。跨域DELETE 要求服务器通过 CORS 明确允许它。
  • 正在传递正确的 id。控制台错误:xhr.js:177 DELETE localhost:3001/delete/1 404(未找到)。我还包括 CORS。
  • 你的网址正确吗?

标签: javascript mysql reactjs axios


【解决方案1】:

我认为在你的后端你需要像这样访问 id

app.delete('/delete/:id', (req, res) => {
  const {id} = req.params;
  db.query("DELETE FROM employees WHERE id = ?", id, (err, result) => {
    if (err) {
      console.log(err)
    } else {
      res.send(result)
    }
  })
});

【讨论】:

  • 我试过这个但没有运气,我最初确实解构了 id 但它没有任何区别。这个问题把我难住了!
【解决方案2】:

感谢大家的帮助。解决方案非常简单——重启服务器。我已经尝试了一切并且正在撕掉我的头发,然后重新启动解决了问题! 谢谢大家的时间和精力:)。

【讨论】:

    猜你喜欢
    • 2018-12-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-17
    • 2013-11-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多