Pokazat ću ti: fetch – naručivanje kodom
U prošloj lekciji si API otvorio ručno u pregledniku. Sada će to isto učiniti tvoj JavaScript – naredbom fetch:
const adresa = 'https://api.open-meteo.com/v1/forecast?latitude=49.19&longitude=16.61¤t_weather=true';
const odpoved = await fetch(adresa);
const data = await odpoved.json();
console.log(data.current_weather.temperature);
Što se događa, redak po redak:
fetch(adresa)– pošalji zahtjev (konobar ide u kuhinju).await– pričekaj da se vrati. Internetu treba trenutak!odpoved.json()– pretvori odgovor u JavaScript objekt.- Zatim radiš s podacima kao s bilo kojim objektom: točka, točka, gotovo.
await radi samo unutar funkcije označene async ili u <script type="module">. Ako preglednik pokaže grešku “await is only valid in async functions”, umotaj kod ovako:
async function nacti() {
// fetch and await go here
}
nacti();
Ispiši podatke na stranicu
Konzola je za programere – posjetitelj želi vidjeti podatke na stranici:
<p id="teplota">Loading…</p>
<script type="module">
const odpoved = await fetch('https://api.open-meteo.com/v1/forecast?latitude=49.19&longitude=16.61¤t_weather=true');
const data = await odpoved.json();
document.querySelector('#teplota').textContent =
`Right now it's ${data.current_weather.temperature} °C`;
</script>
Poznato iz Čarobnjaka (querySelector, textContent) plus novi fetch. Ništa više.
Sad si ti na redu 💪
- Dodaj odlomak s
id="teplota"i gornji skript na svoju web stranicu. - Promijeni koordinate na svoj grad.
- Dodaj i brzinu vjetra u prikaz (
data.current_weather.windspeed). - Bonus: kad je temperatura ispod 0, dodaj „🥶 Skupljaj se!“ u tekst.
Provjera: Prava trenutna temperatura pojavi se na stranici nakon učitavanja. Ako isključiš Wi-Fi i osvježiš stranicu, ostaje na „Učitavanje…“ – dokaz da podaci stvarno dolaze s interneta.
Što ćeš ponijeti iz ove lekcije
fetch(adresa)šalje zahtjev,awaitčeka odgovor..json()pretvara odgovor u objekt s kojim već znaš raditi.- Podaci s cijelog interneta sada su samo jedna funkcija udaljeni.
© 2026 Ing. Martin Polak / AlgoRhino · Uvjeti korištenja sadržaja