fetch în JavaScript

Cod asincron Browserele moderne, Node.js 18+

Trimite o cerere HTTP la un server și primește răspunsul, fără reîncărcarea paginii.

Sintaxă
const raspuns = await fetch(url, optiuni);

Ce face fetch

fetch cere date de la o adresă URL și returnează o promisiune. Răspunsul are proprietatea ok (adevărat pentru codurile 200–299), codul status și metode pentru citirea conținutului: json(), text().

Pentru a trimite date (POST), dai al doilea parametru cu method, headers și body.

Important: fetch nu aruncă eroare pentru răspunsuri 404 sau 500, ci doar când cererea nu ajunge deloc la server. Verifică mereu raspuns.ok.

Parametri

Parametru Descriere
url Adresa cererii.
optiuni Opțional. Obiect cu method, headers, body etc.

Ce returnează

O Promise care primește un obiect Response.

Exemple

Exemplul 1: Citirea unor date JSON

Exemplul cere ultimele articole publice ale blogului prin API-ul WordPress. Rezultatul depinde de ce este publicat în acel moment.

const raspuns = await fetch("https://www.dexblog.ro/wp-json/wp/v2/posts?per_page=2&_fields=id,title");

if (!raspuns.ok) {
  throw new Error("Eroare HTTP " + raspuns.status);
}

const articole = await raspuns.json();
for (const articol of articole) {
  console.log(articol.id, articol.title.rendered);
}

Rezultat posibil (depinde de răspunsul serverului)

74938 Cum afectează inteligența artificială schimbările climatice în 2026: Ghid complet
108818 Cum să șterg contul Microsoft

Exemplul 2: Trimiterea unui formular cu POST

const raspuns = await fetch("/api/abonare", {
  method: "POST",
  headers: { "Content-Type": "application/json" },
  body: JSON.stringify({ email: "ana@exemplu.ro" }),
});

console.log(raspuns.status, raspuns.ok);

Rezultat posibil (depinde de răspunsul serverului)

201 true

Greșeli frecvente

  • Nu verifici raspuns.ok și încerci să citești ca JSON o pagină de eroare 404. Primești SyntaxError: Unexpected token '<'.
  • Uiți al doilea await: raspuns.json() returnează și el o promisiune.
  • Ceri date de pe alt domeniu și browserul blochează cererea cu o eroare CORS. Serverul acelui domeniu trebuie să permită cererea; din codul paginii nu poți ocoli regula.

Comenzi înrudite

  • async / await: Scrie cod asincron care se citește ca un cod obișnuit, de sus în jos.
  • JSON.parse: Transformă un text JSON într-un obiect sau tablou JavaScript.
  • try / catch: Prinde erorile, ca programul să nu se oprească și să poți afișa un mesaj clar.