Fetch API (kmom05)
I den här uppgiften ska vi använda data utifrån. Datan hämtas via http-protokollet med hjälp av fetch och vi ska använda datan för att populera en tabell.
Förutsättning
Det förutsätts att du gått igenom artiklarna för kursmomentet samt är det en fördel om du gjort tidigare kursmoment. De ger dig koll på hur vi börjar jobba med JavaScript och webbläsaren.
Intro
Du ska bygga en applikation som belyser bland annat länders utsläpp av koldioxid. Du ska jämföra data för länderna Sverige, Norge och Danmark.
Datan som ska användas kommer från “Our World In Data (owid)”.
I koden ska vi använda Fetch API och hämta filerna från github på följande länk:
https://raw.githubusercontent.com/bth-webtec/teacher/refs/heads/main/kmom05/data/<filename>.jsonTänk på att <filename> byts ut mot landet du vill hämta (sweden, norway, denmark).
Datan innehåller en hel del nycklar och värden och du kan se en lista på dem i owid’s gitrepo.
Bra. Då har du nog allt du behöver för att gå igenom kraven.
Krav
Generell struktur
Du jobbar i mappen public/.
-
Skapa filen
public/fetch.htmloch lägg till menyvalet i navbaren likt tidigare. -
Skapa filen
public/js/fetch.jsoch läs in den ifetch.html. Det är “startfilen” för din JavaScript. -
Skapa filen
public/css/fetch.csssom sköter stylen för uppgiften.
När du är klar bör du ha följande filer, tillsammans med dina tidigare:
Directorypublic
Directoryjs
- fetch.js
Directorycss
- fetch.css
- fetch.html
1. Hämta datan
Ett tips är att börja med en tom tabell och ett “select element”.
- Användaren ska via ett
selectelement och en eventlyssnare kunna hämta data från alla filer. När man väljer ett årtal ska funktionenfetchData()triggas och du ska läsa in datan från alla tre länderna och det valda året. - Filerna ska hämtas med fetch API.
- Använd async/await för att invänta datan.
- Man ska bara kunna välja år mellan
1900och2019.
2. Presentera datan
- Datan ska presenteras i en tabell med minst tre kolumner förutom landets namn.
- Välj ut minst ett värde som ska jämföras och “vinnarens” cell ska markeras, tex grön bakgrundsfärg.
- Alla tre länderna med respektive data ska visas i tabellen.
- Väljer man ett nytt årtal rensas tabellen och den nya datan läses in och presenteras.
Hur kan det bli när du är klar?
Exempel på hur det kan se ut när du är klar.
Validering
-
Dina webbsidor skall validera i W3C HTML validator.
-
Dina webbsidor skall validera i W3C CSS validator.
-
Din webbplats skall passera
npx eslint public. -
Din webbplats skall gå att starta via
npx http-server.
Avslutningsvis
Lycka till och hör av dig om du kör fast eller har några funderingar.