Axios Supprimer la demande avec le corps et les en-têtes?
Je suis à l'aide d'Axios, tandis que la programmation en ReactJS et je fais semblant d'envoyer une demande de SUPPRESSION de mon serveur.
Pour ce faire j'ai besoin de les en-têtes:
headers: {
'Authorization': ...
}
et le corps est composé de
var payload = {
"username": ..
}
J'ai été à la recherche dans l'inter-réseaux trophiques et seulement constaté que la SUPPRESSION de la méthode nécessite un "param" et n'accepte pas de "données".
J'ai essayé de l'envoyer comme suit:
axios.delete(URL, payload, header);
ou même
axios.delete(URL, {params: payload}, header);
Mais rien ne semble fonctionner...
Quelqu'un peut-il me dire si c'est possible (je présume que c'est) pour envoyer une demande de SUPPRESSION à la fois avec les en-têtes et le corps, et comment le faire ?
Vous en remercie d'avance!
Vous devez vous connecter pour publier un commentaire.
axiox.supprimer prend en charge le corps de la requête. Il accepte deux paramètres: l'url et en option config. Vous pouvez utiliser config.de données pour définir le corps de la réponse comme suit:
Voir Ici - https://github.com/axios/axios/issues/897
Voici un bref résumé des formats requis pour envoyer des différents verbes http avec axios:
GET
: Deux façonsJS:
JS:
Les deux ci-dessus sont équivalentes. Observer les
params
mot-clé dans la deuxième méthodePOST
etPATCH
JS:
DELETE
JS:
Clé de la vente à emporter
get
demandes éventuellement besoin d'unparams
clé de définir correctement les paramètres de la requêtedelete
demandes avec un corps en a besoin pour être mis sous unedata
cléaxios.supprimer est passé une url et une option de configuration.
Les champs disponible à la configuration peut inclure les en-têtes.
Ce qu'il fait en sorte que l'appel de l'API peut être écrite comme:
const headers = {'Authorization': ...}
etdata = {'username': ...}
de se retrouver avecaxios.delete('http://...', {headers, data})
mais le serveur ne peut pas accéder aux en-têtes...J'ai eu le même problème je l'ai résolu comme ça:
Ainsi, après un certain nombre de tentatives, j'ai trouvé de travail.
Veuillez suivre l'ordre de la séquence de il est très important sinon ça ne marchera pas
Pour envoyer un HTTP SUPPRIMER des en-têtes via
axios
j'ai fait ceci:La
axios
syntaxe pour les différents verbes HTTP (GET, POST, PUT, DELETE) est délicate car, parfois, le 2ème paramètre est censé être le corps HTTP, d'autres fois (quand il n est pas nécessaire) que vous venez de passer les en-têtes dans le 2e paramètre.Cependant, disons que vous avez besoin d'envoyer une requête HTTP POST sans un HTTP corps, alors vous avez besoin pour passer
undefined
que le 2ème paramètre.Bare à l'esprit que, selon la définition de l'objet de configuration ( https://github.com/axios/axios#request-config ), vous pouvez toujours passer un corps HTTP HTTP appel à l'aide de la
data
champ lors de l'appel deaxios.delete
, cependant, pour le HTTP SUPPRIMER verbe, elle sera ignorée.Cette confusion entre le 2e paramètre étant parfois le corps HTTP et quelques autres de temps l'ensemble de
config
objet pouraxios
est dû à la façon dont les HTTP règles ont été mises en œuvre. Parfois, un corps HTTP n'est pas nécessaire pour un appel HTTP pour être considérée comme valide.J'ai rencontré le même problème...
Je l'ai résolu par la création d'une coutume axios instance. et en les utilisant pour faire un authentifié supprimer la demande..
Pour les Supprimer, vous devrez procéder comme suit
Il a travaillé pour moi.