Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
front:requetes_api [2025/09/25 14:41] – [Effectuer une requête] paolo | front:requetes_api [2025/09/29 16:45] (Version actuelle) – [Effectuer une requête] paolo | ||
---|---|---|---|
Ligne 7: | Ligne 7: | ||
Ici, nous nous concentrons uniquement sur l' | Ici, nous nous concentrons uniquement sur l' | ||
- | ### Effectuer | + | ### Préparer |
- | Nous avons une application routée avec des pages **Login** et **Home**. Et si on essayait | + | Nous avons une application routée avec des pages **Login** et **Home**. Et si on essayait |
En ce qui concerne le **Router API**, veuillez vous référer à la documentation **Back**, et pour le traitement des requêtes d' | En ce qui concerne le **Router API**, veuillez vous référer à la documentation **Back**, et pour le traitement des requêtes d' | ||
- | Pour commencer il faudrait rajouter | + | ``` |
+ | const request = { | ||
+ | method: " | ||
+ | body: loginData, | ||
+ | headers: { | ||
+ | Accept: " | ||
+ | " | ||
+ | } | ||
+ | }; | ||
+ | |||
+ | fetch(`${API_URL}/ | ||
+ | .then(response => response.json()) | ||
+ | .then(json => console.log(json.data)) | ||
+ | .catch(error => console.error(error)); | ||
+ | ``` | ||
+ | Pour savoir comment récupérer la variable d' | ||
+ | . | ||
+ | ### Effectuer | ||
+ | |||
+ | Il y a deux moyens d' | ||
+ | |||
+ | * Au sein d'un '' | ||
+ | |||
+ | ``` | ||
+ | useEffect(() => { | ||
+ | // request | ||
+ | }, []); | ||
+ | ``` | ||
+ | |||
+ | * Lors d'un événement **React** ('' | ||
+ | |||
+ | ``` | ||
+ | <button onClick={() => { | ||
+ | // request | ||
+ | }}> | ||
+ | Do an action | ||
+ | </ | ||
+ | ``` | ||
+ | |||
+ | Dans notre cas, la requête doit s'effectuer lorsque le formulaire est soumis (lorsque le bouton de soumission | ||
+ | |||
+ | Documentation [FormData](https:// | ||
+ | |||
+ | ``` | ||
+ | // src/ | ||
+ | |||
+ | import { Input } from " | ||
+ | import { API_URL } from " | ||
+ | export const Login = () => { | ||
+ | const handleFormOnSubmit = (e) => { | ||
+ | e.preventDefault() // empêche le comportement par défaut du formulaire | ||
+ | | ||
+ | const data = new FormData(e.target) | ||
+ | const loginData = Object.fromEntries(data.entries()); | ||
+ | | ||
+ | // request | ||
+ | }; | ||
+ | | ||
+ | return ( | ||
+ | <div className=" | ||
+ | <form | ||
+ | onSubmit={handleFormOnSubmit} | ||
+ | className=" | ||
+ | > | ||
+ | <Input | ||
+ | id=" | ||
+ | name=" | ||
+ | label=" | ||
+ | type=" | ||
+ | placeholder=" | ||
+ | /> | ||
+ | <Input | ||
+ | id=" | ||
+ | name=" | ||
+ | label=" | ||
+ | type=" | ||
+ | placeholder=" | ||
+ | /> | ||
+ | <button className=" | ||
+ | Connexion | ||
+ | </ | ||
+ | </ | ||
+ | </ | ||
+ | ); | ||
+ | }; | ||
+ | ``` | ||
+ | Nous savons désormais comment fonctionnent les requêtes API. Il s' |