J'essaie de communiquer avec une API de mon application React à l'aide d'Axios. J'ai réussi à faire fonctionner la demande GET, mais il me faut maintenant un POST.
J'ai besoin que le corps soit du texte brut, car je vais y écrire une requête MDX. Voici la partie où je fais la demande:
axios.post(baseUrl + 'applications/' + appName + '/dataexport/plantypes' + plan,
{
headers: { 'Authorization': 'Basic xxxxxxxxxxxxxxxxxxx',
'Content-Type' : 'text/plain' }
}).then((response) => {
this.setState({data:response.data});
console.log(this.state.data);
});
Ici, j'ai ajouté la partie de type de contenu. Mais comment puis-je ajouter la partie du corps?
Je vous remercie.
Modifier:
Voici une capture d'écran de la requête de Postman qui fonctionne
Pourquoi ne pas utiliser l'API directe axios
?
axios({
method: 'post',
url: baseUrl + 'applications/' + appName + '/dataexport/plantypes' + plan,
headers: {},
data: {
foo: 'bar', // This is the body part
}
});
Source: axios api
Vous pouvez utiliser le texte ci-dessous pour transmettre le texte brut.
axios.post(baseUrl + 'applications/' + appName + '/dataexport/plantypes' + plan, body,
{
headers: { 'Authorization': 'Basic xxxxxxxxxxxxxxxxxxx',
'Content-Type' : 'text/plain' }
}).then((response) => {
this.setState({data:response.data});
console.log(this.state.data);
});
Ayez simplement votre texte brut dans body
ou transmettez-le directement entre guillemets en tant que 'raw text to be sent'
au lieu de body
.
La signature de la publication axios est axios.post(url[, data[, config]])
; la data
correspond donc au lieu où vous transmettez le corps de votre demande.
Référence originale de axios.post sur Github .
axios.post(`${baseUrl}applications/${appName}/dataexport/plantypes${plan}`, {
mdxQuery: '<your_mdx_query>',
})
.then(function (response) {
console.log(response);
})
.catch(function (error) {
console.log(error);
});
Et les paramètres supplémentaires de request doivent être placés sous le troisième argument (par exemple, comme dans l'extrait de problème ):
axios.post(`${baseUrl}applications/${appName}/dataexport/plantypes${plan},
{
mdxQuery: '<your_mdx_query>',
},
{
headers: {
'Authorization': 'Basic xxxxxxxxxxxxxxxxxxx',
'Content-Type': 'text/plain'
}
}
);
Tu l'as fait dans mon projet
axios({
method: "POST",
url: "https://URL.com/api/services/fetchQuizList",
headers: {
"x-access-key": data,
"x-access-token": token
}
data: {
quiz_name: quizname,
}
})
.then(res => {
console.log("res", res.data.message);
})
.catch(err => {
console.log("error in request", err);
});
Cela devrait aider