首页 > 解决方案 > 带有有效负载的 axios 删除方法

问题描述

我在我的反应应用程序上使用 axios 发送删除请求,我需要发送一个 id 列表作为有效负载,但它返回“415 Unsupported Media Type”。

这是我的代码:

const deviceData = ["31234"];

axios.delete(url, { data: deviceData }).then(res => {
  if (res.status === 200) {
    const pagination = { ...this.state.pagination };
    this.setState({
      loading: false,
      data: res.data.data.devices,
      pagination
    });
  }
});

标签: javascriptaxios

解决方案


axiox.delete确实支持请求正文。它接受两个参数:url和可选config的。您可以使用config.data以下方式设置响应正文:

axios.delete(url, { data: { foo: "bar" } });

请参阅此处了解更多信息:https ://github.com/axios/axios/issues/897#issuecomment-343715381

或者您可以尝试设置标题:'Content-Type':'application/json; charset=utf-8'

const deviceData = ["31234"];

axios.delete(url,
  { headers:{'Content-Type': 'application/json; charset=utf-8'} },
  { data: { deviceData: deviceData } }).then(res => {
  if (res.status === 200) {
    const pagination = { ...this.state.pagination };
    this.setState({
      loading: false,
      data: res.data.data.devices,
      pagination
    });
  }
});

推荐阅读