使用 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;
});