Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
| web:js:ajax [2023/04/02 13:15] – [Exemples] jcheron | web:js:ajax [2023/10/12 11:11] (Version actuelle) – [API Fetch] jcheron | ||
|---|---|---|---|
| Ligne 63: | Ligne 63: | ||
| L'api fetch permet en javascript d' | L'api fetch permet en javascript d' | ||
| - | **feetch** fonctionne selon la syntaxe suivante : | + | **fetch** fonctionne selon la syntaxe suivante : |
| <sxh javascript; | <sxh javascript; | ||
| let promise = fetch(url, [options]) | let promise = fetch(url, [options]) | ||
| Ligne 124: | Ligne 124: | ||
| let response = await fetch('/ | let response = await fetch('/ | ||
| - | let blob = await response.blob(); | + | let blob = await response.blob(); |
| - | // create <img> for it | + | // Création d img |
| let img = document.createElement(' | let img = document.createElement(' | ||
| img.style = ' | img.style = ' | ||
| document.body.append(img); | document.body.append(img); | ||
| - | // l' | + | // Affichage |
| img.src = URL.createObjectURL(blob); | img.src = URL.createObjectURL(blob); | ||
| - | setTimeout(() => { // le cacher | + | setTimeout(() => { // Effacement |
| img.remove(); | img.remove(); | ||
| URL.revokeObjectURL(img.src); | URL.revokeObjectURL(img.src); | ||
| Ligne 148: | Ligne 148: | ||
| let response = await fetch('/ | let response = await fetch('/ | ||
| - | let blob = await response.blob(); | + | let blob = await response.blob(); |
| - | // create <img> for it | ||
| let img = document.createElement(' | let img = document.createElement(' | ||
| - | img.style = ' | + | img.style = ' |
| document.body.append(img); | document.body.append(img); | ||
| - | // l' | ||
| img.src = URL.createObjectURL(blob); | img.src = URL.createObjectURL(blob); | ||
| Ligne 165: | Ligne 163: | ||
| </ | </ | ||
| </ | </ | ||
| + | |||
| + | ==== Headers ==== | ||
| + | === Response === | ||
| + | L' | ||
| + | |||
| + | <sxh javascript> | ||
| + | let response = await fetch(' | ||
| + | |||
| + | // récupération d'un header | ||
| + | alert(response.headers.get(' | ||
| + | |||
| + | // itération sur tous les headers | ||
| + | for (let [key, value] of response.headers) { | ||
| + | alert(`${key} = ${value}`); | ||
| + | } | ||
| + | </ | ||
| + | === Request === | ||
| + | Les headers de la requête sont envoyées au travers des options du fetch : | ||
| + | <sxh javascript> | ||
| + | let response = fetch(protectedUrl, | ||
| + | headers: { | ||
| + | Authentication: | ||
| + | } | ||
| + | }); | ||
| + | </ | ||
| + | |||
| + | ==== POST ==== | ||
| + | La méthode HTTP utilisée peut également être spécifiée au travers des options, comme les données envoyées dans le body : | ||
| + | <sxh javascript> | ||
| + | let user = { | ||
| + | name: ' | ||
| + | surname: ' | ||
| + | }; | ||
| + | |||
| + | let response = await fetch('/ | ||
| + | method: ' | ||
| + | headers: { | ||
| + | ' | ||
| + | }, | ||
| + | body: JSON.stringify(user) | ||
| + | }); | ||
| + | </ | ||