Martynas Kašelionis
WEB developeris, programavimo mokytojas
Parengė: Martynas Kašelionis
From zero to hero
Tradicinių svetainių atnaujinimas(reload) našyklėje realizuotas kaskart kreipiantis į serverį.
Pavyzdžiui, užpildžius anketą (ar formą), kreipiamasi į serverį ir užkraunamas naujas puslapis. Tokiu būdu bereikalingai iššvaistomi resursai, nes didelė dalis informacijos nepakinta ir siunčiama kaskart iš naujo.
AJAX svetainės gali siųsti užklausas serveriui, gauti atsakymą tam tikra apsibrėžta forma (SOAP ar kita XML paremta), bei naudojant JavaScript programavimą atnaujinti tik reikiamą puslapio dalį.
AJAX arba Asinchroninis JavaScript ir XML programavimas – terminas, apibrėžiantis svetainių programavimo technologiją, naudojančią šias priemones maksimaliam interaktyvumui pasiekti:
Sinchroninis JavaScript, kai vykdoma pirma kodo eilutė, paskui antra ir t.t.
Asinchroninis JavaScript, kai antra kodo eilutė, vykdoma nesibaigus pirmos kodo eiluės vykdymui.
<asmenys>
<asmuo pasonumeris="MP123456">
<vardas>Petras</vardas>
<pavarde>Petraitis</pavarde>
</asmuo>
<asmuo pasonumeris="PK123456">
<vardas>Jonas</vardas>
<pavarde>Jonaitis</pavarde>
</asmuo>
<papildoma_informacija x="123"/>
</asmenys>
JSON (JavaScript Object Notation) yra atviro standarto formatas, perduodantis duomenų objektus, sudarytus iš atributo ir reikšmės porų, lengvai skaitomame tekste.
Tai yra pirminis asinchroninio naršyklės/serverio bendravimo (AJAX) duomenų formatas.
HTML, XML, JSON arba plain tekstas, gali būti užkrauti, kada reikia ir toje vietoje, kur reikia.
Vienas iš būdų, kaip realizuoti Ajax funkcionalumą, naudoti XMLHttpRequest API arba Fetch API.
Šios aukščiau paminėtos technologijos bendrauja su serveriu siunčiant HTTP užklausas, formatuoja duomenis prieš atvaizdavimą ir juos atvaizduoja.
1. Sukuriamas XMLHTTP užklausos objektas
Pasiruošimo būsena.
2. Sukuriama callback funkcija
Funkcija, kuri apdoroja atsakymą ir atnaujina HTML.
3. Atidaroma užklausa
Nurodomas siuntomo būdas (GET arba POST) ir paduodamas URL
4. Siunčiama užklausa
Būsena:
JSON.parse();
Pvz:
JSON.parse(xhr.responseText);
JSON esantys duomenys sudedami į masyvą.
Pagal JSON failą atvaizduoti mokinių HTML sąrašą. Jeigu mokinio klaseje nera, šalia jo vardo turi būti atsirasti raudonas ženkliukas rodantis, kad jis yra neaktyvus.
[
{
"vardas" : Tomas,
"lokacija" : true
},
{
"vardas" : Giedrius,
"lokacija" : false
},
{
"vardas" : Deimantė,
"lokacija" : true
},
{
"vardas" : Domantas,
"lokacija" : true
},
{
"vardas" : Renata,
"lokacija" : false
}
]By Martynas Kašelionis