这可能是 axios 团队的一个设计选择,并且有充分的理由,但我这样写我所有的 POST/GET/PUT:
const res = await axios.post(url, {
data: {
...
}
})
而且我的服务器有时需要 DELETE 请求正文中的数据(这在技术上可能不符合规范,但仍然很常见)在这种情况下,我必须以这种形式编写我的 DELETE:
const res = await axios({
method: 'DELETE',
url: 'url',
data: {
...
}
})
效果很好,但我不得不使用第二种语法,因为axios.delete
不支持请求正文。
所以我想请求axios.delete
将支持请求正文。
谢谢
我们经常在服务器上将data
与 GET 请求一起使用,并将它们转换为查询参数。 某些方法缺乏数据支持是 axios 的一大缺点,我希望有更多同构的代码。
谢谢,在这里我找到了这个答案
axiox.delete
确实支持请求正文。 它接受两个参数: url
和可选的config
。 您可以使用config.data
来设置响应正文,如下所示:
axios.delete(url, { data: { foo: "bar" } });
post
、 put
和patch
接受 3 个参数: url
、 data
和config
,所以你可以可以使用第二个参数来设置响应正文,如下所示:
axios.put(url, { foo: "bar" });
希望能帮助到你!
我认为README
很难理解:
// `data` is the data to be sent as the request body
// Only applicable for request methods 'PUT', 'POST', and 'PATCH'
// When no `transformRequest` is set, must be of one of the following types:
// - string, plain object, ArrayBuffer, ArrayBufferView, URLSearchParams
// - Browser only: FormData, File, Blob
// - Node only: Stream, Buffer
data: {
firstName: 'Fred'
},
这部分:特别是// Only applicable for request methods 'PUT', 'POST', and 'PATCH'
。
请将此评论添加到文档中
它在文档https://github.com/axios/axios#request -method-aliases
这两者有什么区别?
this.$axios.$delete(queryData.url,
{
params: { id: String(queryData.id) }
})
this.$axios.$delete(queryData.url,
{
body: { id: String(queryData.id) }
})
[params] 在我身边工作
最有用的评论
axiox.delete
确实支持请求正文。 它接受两个参数:url
和可选的config
。 您可以使用config.data
来设置响应正文,如下所示:post
、put
和patch
接受 3 个参数:url
、data
和config
,所以你可以可以使用第二个参数来设置响应正文,如下所示:希望能帮助到你!