Uppgift: Fetch API
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
Section titled “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.
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.
Generell struktur
Section titled “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
Section titled “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
Section titled “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?
Section titled “Hur kan det bli när du är klar?”Exempel på hur det kan se ut när du är klar.
Validering
Section titled “Validering”-
Dina webbsidor skall validera i W3C HTML validator.
-
Dina webbsidor skall validera i W3C CSS validator.
-
Din webbplats skall passera
npm run lint. -
Din webbplats skall gå att starta via
npm run server.
Avslutningsvis
Section titled “Avslutningsvis”Lycka till och hör av dig om du kör fast eller har några funderingar.
