【问题标题】:Axios delete method with a payload带有有效负载的 axios 删除方法
【发布时间】:2019-10-04 09:29:40
【问题描述】:

我在我的 react 应用上使用 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
    });
  }
});

【问题讨论】:

  • 只有删除方法的问题?
  • @RapSherlock 是的
  • 您可以尝试在后端调试您的请求吗?
  • @RapSherlock 请求在邮递员及其工作中进行了测试。

标签: javascript axios


【解决方案1】:

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

【讨论】:

  • 再次查看我将数据发送到服务器{ data: { deviceData: deviceData } } 的方式。希望对您有所帮助!
  • 您是否在函数中发送多个 id ??
  • @Hardevgun 是的,它是一个 id 数组。例如 ["id1","id2","id3"]
  • @SNoV 参考此链接:stackoverflow.com/questions/52495292/…。希望这会对你有所帮助。
猜你喜欢
  • 2021-04-17
  • 2017-12-14
  • 2021-12-02
  • 2020-08-26
  • 1970-01-01
  • 2018-04-23
  • 2017-12-17
  • 1970-01-01
  • 2015-02-12
相关资源
最近更新 更多