delete请求,express获取req.body失败

使用 Express 框架处理 DELETE 请求时,通常情况下是不会有请求体的。DELETE 请求通常用于删除资源,而不是发送数据。因此, Express 默认情况下不会解析 DELETE 请求的请求体。

如果需要在 DELETE 请求中发送数据,一种常见的做法是将数据作为 URL 参数或请求头的一部分发送,而不是在请求体中。可以在 URL 参数中包含数据,或者使用自定义的请求头来传递信息。

1、在前端代码中使用 Axios 发送 DELETE 请求,并在 URL 参数中包含数据

javascript 复制代码
axios.delete('/api/resource', {
  params: { key: 'value' }
})
  .then(response => {
    // 处理响应
  })
  .catch(error => {
    // 处理错误
  });

然后,在 Express 后端中,可以通过 req.query 访问 URL 参数:

javascript 复制代码
app.delete('/api/resource', (req, res) => {
  const data = req.query;
  // 处理数据
  res.send('DELETE 请求处理成功');
});

2、使用路径参数传递数据

javascript 复制代码
axios.delete('/api/resource/data值', {
})

然后,在 Express 后端中,可以通过 req.params 获取路径参数:

javascript 复制代码
app.delete('/api/resource/:id', (req, res) => {
  const data = req.params;
  res.send('DELETE 请求处理成功');
});
javascript 复制代码
例如要传递的数据为id:"323"
请求:axios.delete('/api/resource/323', {
})
接收:app.delete('/api/resource/:id', (req, res) => {
  const id= req.params.id;
});
相关推荐
来自星星的坤3 小时前
Vue 3中如何封装API请求:提升开发效率的最佳实践
前端·javascript·vue.js
vvilkim5 小时前
全面解析React内存泄漏:原因、解决方案与最佳实践
前端·javascript·react.js
vvilkim5 小时前
React批处理(Batching)更新机制深度解析
前端·javascript·react.js
Bayi·5 小时前
前端面试场景题
开发语言·前端·javascript
程序猿熊跃晖6 小时前
Vue中如何优雅地处理 `<el-dialog>` 的关闭事件
前端·javascript·vue.js
进取星辰6 小时前
12、高阶组件:魔法增幅器——React 19 HOC模式
前端·javascript·react.js
拉不动的猪6 小时前
前端低代码开发
前端·javascript·面试
程序员张36 小时前
Vue3集成sass
前端·css·sass
夜跑者6 小时前
axios 在请求拦截器中设置Content-Type无效问题
前端
知识分享小能手6 小时前
JavaScript学习教程,从入门到精通,Ajax与Node.js Web服务器开发全面指南(24)
开发语言·前端·javascript·学习·ajax·node.js·html5