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:38] – [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' | ||
``` | ``` | ||
- | const dispatch = useDispatch(); | ||
- | |||
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 => dispatch(setSession(json.data))) | + | .then(json => console.log(json.data)) |
.catch(error => console.error(error)); | .catch(error => console.error(error)); | ||
``` | ``` | ||
- | Pour savoir comment récupérer la variable d' | + | Pour savoir comment récupérer la variable d' |
+ | . | ||
+ | ### Effectuer une requête | ||
- | Il faudrait maintenant rajouter une fonction qui effectcue la requête | + | 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' | ||
+ | |||
+ | 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 72: | Ligne 100: | ||
}; | }; | ||
``` | ``` | ||
+ | |||
+ | Nous savons désormais comment fonctionnent les requêtes API. Il s' |