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 15:05] – [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' | ||
| Ligne 16: | Ligne 16: | ||
| const request = { | const request = { | ||
| method: " | method: " | ||
| - | body: { email, password }, | + | body: loginData, |
| headers: { | headers: { | ||
| Accept: " | Accept: " | ||
| " | " | ||
| - | }, | + | } |
| }; | }; | ||
| fetch(`${API_URL}/ | fetch(`${API_URL}/ | ||
| .then(response => response.json()) | .then(response => response.json()) | ||
| - | .then(json => { | + | .then(json => console.log(json.data)) |
| - | const { data } = json; | + | |
| - | const { user } = data; | + | |
| - | + | ||
| - | localStorage.setItem(" | + | |
| - | }) | + | |
| .catch(error => console.error(error)); | .catch(error => console.error(error)); | ||
| ``` | ``` | ||
| + | Pour savoir comment récupérer la variable d' | ||
| + | . | ||
| + | ### Effectuer une requête | ||
| - | Pour savoir comment importer la variable | + | Il y a deux moyens |
| + | * Au sein d'un '' | ||
| + | ``` | ||
| + | useEffect(() => { | ||
| + | // request | ||
| + | }, []); | ||
| + | ``` | ||
| - | Pour commencer il faudrait rajouter une fonction qui s'effectue lorsque le formulaire est soumis. | + | * Lors d'un événement **React** ('' |
| ``` | ``` | ||
| + | <button onClick={() => { | ||
| + | // request | ||
| + | }}> | ||
| + | Do an action | ||
| + | </ | ||
| + | ``` | ||
| + | |||
| + | Dans notre cas, la requête doit s' | ||
| + | |||
| + | Documentation [FormData](https:// | ||
| + | |||
| + | ``` | ||
| + | // src/ | ||
| + | |||
| import { Input } from " | import { Input } from " | ||
| + | import { API_URL } from " | ||
| export const Login = () => { | export const Login = () => { | ||
| const handleFormOnSubmit = (e) => { | 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()); | ||
| | | ||
| - | // Requête API | + | // request |
| }; | }; | ||
| | | ||
| Ligne 78: | Ligne 100: | ||
| }; | }; | ||
| ``` | ``` | ||
| + | |||
| + | Nous savons désormais comment fonctionnent les requêtes API. Il s' | ||