将 fetch PUT 请求转换为 axios 请求
Posted
技术标签:
【中文标题】将 fetch PUT 请求转换为 axios 请求【英文标题】:Converting fetch PUT request into axios request 【发布时间】:2020-01-12 08:49:32 【问题描述】:我一直在前端使用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】:看看axios.put
签名:
axios.put(url[, data[, config]])
第二个参数被视为data
,因此您的headers
最终成为请求正文的一部分。
此外,data: body: file ,
是多余的。 axios.put()
的 data
参数已经被视为正文。
所以你可以这样做:
await axios.put(url, file,
headers:
'content-type': 'png'
)
或:
await axios.put(url, ,
data: file,
headers:
'content-type': 'png'
)
或者,为了与fetch
API 更加相似,
await axios(url,
method: 'PUT',
data: file,
headers:
'content-type': 'png'
)
【讨论】:
以上是关于将 fetch PUT 请求转换为 axios 请求的主要内容,如果未能解决你的问题,请参考以下文章
使用 Promise.all() 从 Axios 转换为 Fetch
Vue.js / Vuex + axios 发送多个 PUT 请求