JavaScript fetch bilan API'dan ma'lumot olish

Zamonaviy sahifa ma’lumotni serverdan sahifani yangilamasdan oladi: mahsulotlar ro’yxati, ob-havo, izohlar. Buni fetch bajaradi.

Birinchi so’rov

JavaScript

Ikki qadam bor va ikkalasi ham await talab qiladi:

  1. fetch(...) — so’rov yuboradi, javob sarlavhalari kelganda tugaydi;
  2. javob.json() — javob tanasini o’qib, JavaScript obyektiga o’giradi.

Status tekshirish — muhim tuzoq

JavaScript

404 keldi, lekin fetch xato bermadi. Bu ko’p uchraydigan yanglish tushuncha: fetch faqat tarmoq uzilganda rad etiladi; server javob bersa — hatto 404 yoki 500 bo’lsa ham — muvaffaqiyat hisoblanadi.

Shuning uchun ok ni qo’lda tekshirish kerak:

JavaScript

try/catch bilan to’liq naqsh

JavaScript

Bu — amaliyotdagi standart naqsh: try/catch + ok tekshiruvi birga.

Ro’yxat olish va chizish

JavaScript
Sahifa

Serverdan kelgan ma’lumot DOM ga aylantirildi — bu veb-ilovaning eng asosiy amali.

POST — ma’lumot yuborish

Ma’lumot yuborish uchun qo’shimcha sozlamalar kerak:

const javob = await fetch("https://example.com/api/talabalar", {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
  },
  body: JSON.stringify({ ism: "Aziz", yosh: 20 }),
});

const natija = await javob.json();

Uch narsa muhim:

  • method — so’rov turi (GET standart, POST, PUT, DELETE);
  • headersContent-Type server tanani qanday o’qishini aytadi;
  • bodymatn bo’lishi kerak, shuning uchun JSON.stringify.

Yuklanish holatini ko’rsatish

JavaScript
Sahifa

Uch holat — yuklanmoqda, natija, xato — har qanday ma’lumot oluvchi interfeysning majburiy qismi.

Parallel so’rovlar

JavaScript

Ikki Promise.all: birinchisi so’rovlarni, ikkinchisi tanalarni parallel kutadi — async/await darsidagi qoida.

Amaliy mashq

  1. GitHub API’dan istalgan repo ma’lumotini oling;
  2. javob.ok ni tekshirib, xato bo’lsa throw qiling;
  3. butun kodni try/catch ga o’rang;
  4. kelgan ro’yxatni <ul> ichida chizing;
  5. “Yuklanmoqda” holatini qo’shing;
  6. mavjud bo’lmagan manzil so’rab, fetch xato bermasligini tasdiqlang.

6-qadam fetch haqidagi eng ko’p uchraydigan yanglishni tekshiradi.

Qisqacha xulosa

  • fetch so’rov yuboradi va Promise qaytaradi — await bilan ishlatiladi.
  • Tanani o’qish alohida qadam: await javob.json().
  • fetch 404/500 da xato bermaydijavob.ok ni qo’lda tekshiring.
  • POST uchun method, headers va JSON.stringify(body) kerak.
  • Yuklanmoqda / natija / xato — uchala holat ham ko’rsatilishi kerak.
  • Bog’liq bo’lmagan so’rovlarni Promise.all bilan parallel yuboring.

Keyingi darsda JSON formatini batafsil ko’ramiz.

Bu dars foydali bo'ldimi?

marta ko'rildi