Cette page a été traduite à partir de l'anglais par la communauté. Vous pouvez contribuer en rejoignant la communauté francophone sur MDN Web Docs.

View in English Always switch to English

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

js
text()

Paramètres

Aucun.

Valeur de retour

Une promesse qui se résout avec une chaîne de caractères (String).

Exceptions

AbortError DOMException

La requête a été annulée.

TypeError

Levée pour l'une des raisons suivantes :

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>.

js
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