Je suis nouveau dans ReactJS et UI et je voulais savoir comment faire un simple appel POST basé sur REST à partir du code ReactJS.
S'il y a un exemple, ce serait vraiment utile.
Je suis nouveau dans ReactJS et UI et je voulais savoir comment faire un simple appel POST basé sur REST à partir du code ReactJS.
S'il y a un exemple, ce serait vraiment utile.
Réponses:
Directement à partir des documents React :
(Il s'agit de publier du JSON, mais vous pouvez également faire, par exemple, un formulaire en plusieurs parties.)
la source
fetch()
fonction ne renvoie pas les données , elle renvoie simplement une promesse .fetch
est intégré à React, ce qui n'est pas le cas, et qu'il n'y a pas de lien vers les documents référencés.fetch
est (au moment de la rédaction) une API expérimentale basée sur Promise . Pour la compatibilité du navigateur, vous aurez besoin d' un polyfill babel .React n'a pas vraiment d'opinion sur la façon dont vous passez des appels REST. En gros, vous pouvez choisir le type de bibliothèque AJAX que vous souhaitez pour cette tâche.
Le moyen le plus simple avec l'ancien JavaScript est probablement quelque chose comme ceci:
Dans les navigateurs modernes, vous pouvez également utiliser
fetch
.Si vous avez plus de composants qui effectuent des appels REST, il peut être judicieux de placer ce type de logique dans une classe qui peut être utilisée entre les composants. Par exemple
RESTClient.post(…)
la source
fetch
ousuperagent
oujQuery
ouaxios
ou quelque chose d'autre qui ne fait pas partie de "vanilla React" pour faire autre chose que ce qui est affiché ci-dessus .JSON.stringify({"key": "val"})
, puis du côté du flacon à fairerequest.get_json()
JSON.stringify
abord le faire.Un autre paquet récemment populaire est: axios
Installer:
npm install axios --save
Demandes basées sur des promesses simples
la source
vous pouvez installer superagent
puis pour faire un appel au serveur
la source
À partir de 2018 et au-delà, vous disposez d'une option plus moderne qui consiste à incorporer async / await dans votre application ReactJS. Une bibliothèque client HTTP basée sur la promesse telle qu'axios peut être utilisée. L'exemple de code est donné ci-dessous:
la source
await
-SyntaxError: await is a reserved word (33:19)
Je pense que de cette façon aussi une manière normale. Mais désolé, je ne peux pas décrire en anglais ((
https://googlechrome.github.io/samples/fetch-api/fetch-post.html
fetch ('url / questions', {méthode: 'POST', headers: {Accept: 'application / json', 'Content-Type': 'application / json',}, body: JSON.stringify (this.state) }). then (réponse => {console.log (réponse)}) .catch (erreur => {console.log (erreur)})
la source
Voici une liste de comparaison des bibliothèques ajax basée sur les fonctionnalités et le support. Je préfère utiliser fetch uniquement pour le développement côté client ou isomorphic-fetch pour une utilisation à la fois côté client et développement côté serveur.
Pour plus d'informations sur isomorphic-fetch vs fetch
la source
Voici une fonction util modifiée (un autre article sur la pile) pour obtenir et publier les deux. Créez le fichier Util.js.
Utilisation comme ci-dessous dans un autre composant
la source
Voici un exemple: https://jsfiddle.net/69z2wepo/9888/
Il utilisait une
jquery.ajax
méthode mais vous pouvez facilement la remplacer par des bibliothèques basées sur AJAX comme axios, superagent ou fetch.la source
'{"Id":"112","User":"xyz"}'
et changez l'URL en localhost: 8080 / myapi / ui / start, c'est à peu près tout, une fois l'appel XHR réussi, vous arriverez dans la méthode done et vous aurez accès à vos données via le résultat propriété.