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.