Response : méthode text()
Baseline
Widely available
Cette fonctionnalité est bien établie et fonctionne sur de nombreux appareils et versions de navigateurs. Elle est disponible sur tous les navigateurs depuis mars 2017.
Note : Cette fonctionnalité est disponible via les Web Workers.
La méthode text() de l'interface Response prend un flux de réponse et le lit jusqu'à la fin.
Elle retourne une promesse qui se résout avec une chaîne de caractères (String).
La réponse est toujours décodée en UTF-8.
Syntaxe
text()
Paramètres
Aucun.
Valeur de retour
Une promesse qui se résout avec une chaîne de caractères (String).
Exceptions
AbortErrorDOMException-
La requête a été annulée.
TypeError-
Levée pour l'une des raisons suivantes :
- Le corps de la réponse est perturbé ou verrouillé.
- Une erreur s'est produite lors du décodage du contenu du corps (par exemple, parce que l'en-tête HTTP
Content-Encodingest incorrect).
Exemples
Dans notre exemple fetch text (angl.) (voir exécution en direct (angl.)), nous avons un élément HTML <article> et trois liens (stockés dans le tableau myLinks).
Tout d'abord, nous parcourons ces liens et donnons à chacun un gestionnaire d'évènement onclick afin que la fonction getData() soit exécutée — avec l'identifiant data-page du lien passé en argument — lorsqu'un des liens est cliqué.
Lorsque getData() est exécutée, nous créons une nouvelle requête à l'aide du constructeur Request(), puis l'utilisons pour récupérer un fichier .txt spécifique.
Lorsque la récupération réussit, nous lisons une chaîne de caractères à partir de la réponse avec text(), puis nous affectons la valeur à la propriété innerText de l'élément HTML <article>.
const monArticle = document.querySelector("article");
const mesLiens = document.querySelectorAll("ul a");
for (const lien of mesLiens) {
lien.onclick = (e) => {
e.preventDefault();
const lienData = e.target.getAttribute("data-page");
getData(lienData);
};
}
function getData(pageId) {
console.log(pageId);
const maRequete = new Request(`${pageId}.txt`);
fetch(maRequete)
.then((reponse) => {
if (!reponse.ok) {
throw new Error(`Erreur HTTP, statut = ${reponse.status}`);
}
return reponse.text();
})
.then((texte) => {
monArticle.innerText = texte;
})
.catch((erreur) => {
monArticle.innerText = `Erreur : ${erreur.message}`;
});
}
Spécifications
| Specification |
|---|
| Fetch> # ref-for-dom-body-text①> |
Compatibilité des navigateurs
Voir aussi
- L'API ServiceWorker
- Contrôle d'accès HTTP (CORS)
- La référence HTTP