Data uit JSON stap: 2 JSON binnenhalen
(00:12:12)
In een JavaScript, dat aan een webpagina is gekoppeld, willen we het JSON-document naar binnen halen en tot een object omzetten.
We hebben daarbij een asynchroon proces.
Het script loopt in hoog tempo alle opdrachten in het script af, maar het binnenhalen van de data kost tijd. Pas na dat binnenhalen kan het worden verwerkt.
Na binnenkomst is er als het ware een melding, die het script vertelt dat er nu vanaf dat punt verder gewerkt kan worden.
We maken daarvoor een XMLHttpRequest
-object aan.
Het onreadystatechange
event controleert of de readyState
van het object 4
is en de state
van dit object 200
is. Dan kan de opdracht gegeven worden de responseText
uit te voeren.
Om de request uit te voeren roepen we de .open()
-method aan van dit object. Deze methode heeft 3 argumenten: "GET"
, de url van het JSON-bestand en een boolean, die aangeeft of het een asynchroon verzoek is. Dat is bij ons dus true
.
Met de .send()
-method wordt de request verstuurd en gaat het proces van contact zoeken en data-uitwisseling beginnen.
Om het a-synchrone karakter te laten zien, wordt er voor even een console-opdrachtje gegeven als laatste opdracht in het script. Deze blijkt dan toch als eerste uitgevoerd te worden.
Ook kun je console-opdrachten geven voor het geval de readyState
nog niet 4
is en de status
nog niet 200
is.
Als je er een positief resultaat is, kun je de data met JSON.parse() omzetten naar een echt JavaScript object.
In de console kun je ten slotte zien dat het een object is geworden.