Dies ist wahrscheinlich eine Designentscheidung des Axios-Teams und das aus gutem Grund, aber ich schreibe alle meine POST/GET/PUTs so:
const res = await axios.post(url, {
data: {
...
}
})
Und mein Server erwartet manchmal Daten im DELETE-Request-Body (was technisch vielleicht nicht den Spezifikationen entspricht, aber dennoch üblich ist), in diesem Fall muss ich mein DELETE in dieser Form schreiben:
const res = await axios({
method: 'DELETE',
url: 'url',
data: {
...
}
})
Was gut funktioniert, aber ich bin gezwungen, die zweite Syntax zu verwenden, da axios.delete
keinen Anforderungstext unterstützt.
Daher möchte ich anfordern, dass axios.delete
einen Anfragetext unterstützt.
Danke
Wir verwenden häufig data
mit GET-Anforderungen auf dem Server und sie werden in Abfrageparameter übersetzt. Der Mangel an Datenunterstützung bei bestimmten Methoden ist ein großer Nachteil für Axios in meiner Hoffnung auf mehr isomorphen Code.
Danke, hier habe ich diese Antwort gefunden
axiox.delete
unterstützt einen Anfragetext. Es akzeptiert zwei Parameter: url
und optional config
. Sie können config.data
verwenden, um den Antworttext wie folgt festzulegen:
axios.delete(url, { data: { foo: "bar" } });
post
, put
und patch
akzeptieren 3 Parameter: url
, data
und config
, damit Sie es können können den zweiten Parameter verwenden, um den Antworttext wie folgt festzulegen:
axios.put(url, { foo: "bar" });
Ich hoffe es hilft!
Ich denke, das README
macht es schwer zu verstehen:
// `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'
},
Dieser Teil: besonders // Only applicable for request methods 'PUT', 'POST', and 'PATCH'
.
Bitte fügen Sie diesen Kommentar zu den Dokumenten hinzu
Es befindet sich in den Dokumenten https://github.com/axios/axios#request -method-aliases
was ist der unterschied zwischen diesen beiden?
this.$axios.$delete(queryData.url,
{
params: { id: String(queryData.id) }
})
this.$axios.$delete(queryData.url,
{
body: { id: String(queryData.id) }
})
[params] hat auf meiner Seite funktioniert
Hilfreichster Kommentar
axiox.delete
unterstützt einen Anfragetext. Es akzeptiert zwei Parameter:url
und optionalconfig
. Sie könnenconfig.data
verwenden, um den Antworttext wie folgt festzulegen:post
,put
undpatch
akzeptieren 3 Parameter:url
,data
undconfig
, damit Sie es können können den zweiten Parameter verwenden, um den Antworttext wie folgt festzulegen:Ich hoffe es hilft!