在 Express.js 中删除 req.body 上的空对象

Mur*_*ami 3 node.js express reactjs redux

我正在尝试删除服务器端 (Express.js) 上的某些内容。因此,我需要从前端(React with Redux)发送要在后端使用的数据,以便从数据库中删除某些内容。所以我的 redux 动作看起来像这样:

export const sendRemoved = (removedDocId) => async dispatch => {
    const res = await axios.delete('/api/deletedoc', removedDocId);
}
Run Code Online (Sandbox Code Playgroud)

正如你所看到的,我想发送一个叫做 removeDocId 的对象(它有一些宝贵的数据)。然后在后端我这样做:

app.delete('/api/deletedoc', (req, res) => {
    console.log(req.body)
})
Run Code Online (Sandbox Code Playgroud)

我希望在 req.body 中有我的数据,但我得到的是空对象。如果我用 post 方法(前端和后端)做同样的事情,一切都会起作用。是否有另一种使用删除方法将数据从前端传递到后端的方法?谢谢!

Tho*_*lle 5

除了使用removedDocId字符串作为第二个参数之外,您还可以data在选项对象的属性中使用它。

export const sendRemoved = (removedDocId) => async dispatch => {
  const res = await axios.delete('/api/deletedoc', { data: { removedDocId } });
}
Run Code Online (Sandbox Code Playgroud)