将获取PUT请求转换为axios请求

时间:2019-09-10 14:56:02

标签: javascript axios fetch-api

我一直在前端使用fetch发出PUT请求。我的代码如下所示:

fetch(url, {
  headers: {
    'content-type': 'png',
  },
  method: 'PUT',
  body: file,
})

我正在尝试使用axios来写同样的东西,但似乎没有用

await axios.put(url, { 
     data: { 
        body: file 
    },
    headers: {
       'content-type': 'png',
    },
})

1 个答案:

答案 0 :(得分:0)

看看axios.put签名:

axios.put(url[, data[, config]])

第二个参数被视为data,因此您的headers最终成为请求正文的一部分。

此外,data: { body: file },是多余的。 axios.put()的{​​{1}}参数已经被 视为正文。

因此您可以执行以下操作:

data

或:

await axios.put(url, file,
  {
    headers: {
      'content-type': 'png'
    }
  }
)

或者,为了更类似于await axios.put(url, {}, { data: file, headers: { 'content-type': 'png' } } ) API,

fetch