Vi ska implementera förra lektionens HTTP-metoder med en annan standard som skiljer sig ganska mycket från den föregående men ändå bygger på samma metoder:
fetch
.
//GET
fetch('http://fend16.azurewebsites.net/albums')
.then(function(response){
console.log(response.json());
})
.then(function(json){
console.log(json);
})
//POST request, we need to supply body and headers
fetch('http://fend16.azurewebsites.net/albums',
{
method: 'POST',
body: JSON.stringify({
artist: '',
title: ''
}),
headers: {
'Content-type' : 'application/json'
}
})
.then(function(response){
console.log(response);
})
Skapa en index.html
, main.js
och main.css
där du skriver din kod och kör den sedan genom localhost
via MAMP
.
- Implementera förra lektionens funktioner som vi gjorde med
XMLHttpRequest
fast nu istället medfetch
. Skicka med samtliga parametrar och inte baraartist
ochtitle
utan samtliga med omslagsbild och allt.
- Implementera GET/POST/PATCH/DELETE
- Gör så att man kan skicka med olika värden till funktioner som hanterar
DELETE
ochPATCH
via dinindex.html
. T.ex. med ett eller flerainput
-fält. Data ska alltså kunna skrivas in eller väljas från din index.html och skickas via dina funktioner som använder sig avfetch
.
Diskutera med en någon i klassen gällande följande saker, inget som ska skickas in.:
- Hur är skillnaderna mellan de två olika implementationerna av HTTP-protokollet?
- Vilka nackdelar och fördelar finns det med de två olika implementationerna?
XMLHttpRequest
ochfetch
. - Vilka andra alternativ finns det om vi inte använder någon av dessa? Och vad bygger de på för standarder?
- Vilka saker måste vi alltid göra oberoende av implementation? Vilka värden måste skickas med i vår
request
för att servern ska kunna tolka förfrågan rätt.