Ini mungkin pilihan desain oleh tim axios dan untuk alasan yang bagus tetapi saya menulis semua POST/GET/PUT saya seperti ini:
const res = await axios.post(url, {
data: {
...
}
})
Dan server saya terkadang mengharapkan data di dalam badan permintaan DELETE (yang mungkin secara teknis tidak sesuai dengan spesifikasi tetapi tetap saja itu umum) dalam hal ini saya harus menulis DELETE saya dalam formulir ini:
const res = await axios({
method: 'DELETE',
url: 'url',
data: {
...
}
})
Yang berfungsi dengan baik tetapi saya terpaksa menggunakan sintaks kedua karena axios.delete
tidak mendukung badan permintaan.
Jadi saya ingin meminta axios.delete
untuk mendukung badan permintaan.
Terima kasih
Kami sering menggunakan data
dengan permintaan GET di server dan mereka diterjemahkan ke parameter kueri. Kurangnya dukungan data pada metode tertentu adalah kerugian besar bagi aksio dengan harapan saya akan lebih banyak kode isomorfik.
Terima kasih, Di sini saya menemukan jawaban ini
axiox.delete
mendukung badan permintaan. Ia menerima dua parameter: url
dan opsional config
. Anda dapat menggunakan config.data
untuk mengatur isi respons sebagai berikut:
axios.delete(url, { data: { foo: "bar" } });
post
, put
, dan patch
menerima 3 parameter: url
, data
, dan config
jadi kamu bisa dapat menggunakan parameter kedua untuk mengatur badan respons seperti ini:
axios.put(url, { foo: "bar" });
Semoga membantu!
Saya pikir README
membuatnya sulit untuk dipahami:
// `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'
},
Bagian ini: // Only applicable for request methods 'PUT', 'POST', and 'PATCH'
khususnya.
tolong tambahkan komentar ini ke dokumen
Ada di dokumen https://github.com/axios/axios#request -method-aliases
apa perbedaan antara keduanya?
this.$axios.$delete(queryData.url,
{
params: { id: String(queryData.id) }
})
this.$axios.$delete(queryData.url,
{
body: { id: String(queryData.id) }
})
[params] bekerja di pihak saya
Komentar yang paling membantu
axiox.delete
mendukung badan permintaan. Ia menerima dua parameter:url
dan opsionalconfig
. Anda dapat menggunakanconfig.data
untuk mengatur isi respons sebagai berikut:post
,put
, danpatch
menerima 3 parameter:url
,data
, danconfig
jadi kamu bisa dapat menggunakan parameter kedua untuk mengatur badan respons seperti ini:Semoga membantu!