From 90e965768740aa9053bb41447fdf7b52a3b11fbc Mon Sep 17 00:00:00 2001 From: KubMakCZ Date: Fri, 6 Mar 2026 10:34:04 +0100 Subject: [PATCH] remove WIP --- 25_fetch_await/index.html | 24 ++++++++++++++ 25_fetch_await/script.js | 68 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 92 insertions(+) create mode 100644 25_fetch_await/index.html create mode 100644 25_fetch_await/script.js diff --git a/25_fetch_await/index.html b/25_fetch_await/index.html new file mode 100644 index 0000000..bfb8e3f --- /dev/null +++ b/25_fetch_await/index.html @@ -0,0 +1,24 @@ + + + + + + Fetch API + + +

Hledání uživatele (Fetch API)

+ +
+ + + + +
+ +
+

Připraveno k hledání....

+
+
+ + + \ No newline at end of file diff --git a/25_fetch_await/script.js b/25_fetch_await/script.js new file mode 100644 index 0000000..86a5c37 --- /dev/null +++ b/25_fetch_await/script.js @@ -0,0 +1,68 @@ +const inputId = document.getElementById("userId"); +const btnNajdi = document.getElementById("btnNajdi"); +const btnVse = document.getElementById("btnVse"); +const stav = document.getElementById("stav"); +const vysledek = document.getElementById("vysledek"); + +// FUNKCE 1 : Načtení všech uživatelů +async function nactiVsechny() { + vysledek.innerHTML = ""; + stav.innerText = "Načítám seznam všech uživatelů"; + + try{ + const odpoved = await fetch("https://jsonplaceholder.typicode.com/users") + if (!odpoved.ok){ + throw new Error("Nepodařilo se stáhnout seznam uživatelů") + } + const data = await odpoved.json(); + + //Vytvoření seznam (createElement/appendChild) + const ul = document.createElement("ul"); + data.forEach(u => { + const li = document.createElement("li"); + li.innerText = u.name + ul.appendChild(li); + }); + vysledek.appendChild(ul) + stav.innerText = "Seznam Načten" + + + } catch (e) { + stav.innerText = "CHYBA:" + e.message; + } + +} + +async function nactiJednoho() { + const id = inputId.value; + vysledek.innerHTML = ""; + stav.innerText = `Hledám uživatele s ID: ${id}`; + + try{ + const odpoved = await fetch(`https://jsonplaceholder.typicode.com/users/${id}`) + if(!odpoved.ok) { + throw new Error(`Uživatel s ID ${id} neexistuje (HTTP ${odpoved.status})`); + } + const u = await odpoved.json(); + vysledek.innerHTML = ` +

${u.name}

+ + `;//AltGR + ý = ` (Template literal) + stav.innerText = "Uživatel nalezen" + + } catch (error) { + stav.innerText = "Došlo k chybě"; + vysledek.innerHTML = `

Chyba:${error.message}

` + console.error("Podropbnosti chyby:",error) + } finally { + console.log(`Pokus o načtení ID ${id} dokončen`); + } + +} + +btnVse.addEventListener("click",nactiVsechny); +btnNajdi.addEventListener("click",nactiJednoho); \ No newline at end of file