Temelj AJAX-a je objekt XMLHttpRequest.
Vsi sodobni brskalniki podpirajo objekt XMLHttpRequest in se lahko uporablja za izmenjavo podatkov s spletnim strežnikom v zakulisju. Pomeni, da je mogoče posodobiti dele spletne strani, ne da bi ponovno naložili celotno stran. Sintaksa za ustvarjanje objekta XMLHttpRequest:
imeSpremenljivke = new XMLHttpRequest();
Funkcija povratnega klica je funkcija, ki se kot parameter posreduje drugi funkciji. V tem primeru mora funkcija povratnega klica vsebovati kodo, ki se izvede, ko je odgovor pripravljen.
imeSpremenljivke.onload = function () { // kaj želimo storiti, ko je odgovor pripravljen }
Če želimo poslati zahtevo strežniku, lahko uporabimo metodi open() in send() objekta XMLHttpRequest.
imeSpremenljivke.open("GET", "imeDatoteke.txt"); imeSpremenljivke.send();
AJAX Primer | Primer prikazuje, kako funkcija zahteva podatke od spletnega strežnika in jih tudi prikaže. | Glej primer |
---|
Zaradi varnosti sodobni brskalniki ne omogočajo dostopa med domenami, kar pomeni, da morata spletna stran kot XML datoteka biti na istem strežniku. Če želimo primere uporabiti na svoji spletni strani, morajo biti XML datoteke naložene na našem strežniku (kjer se nahaja index datoteka).
Metoda | Opis |
---|---|
new XMLHttpRequest() | Ustvarimo nov objekt XMLHttpRequest. |
abort() | Prekličemo trenutno zahtevo. |
getAllResponseHeaders() | Vrne informacije o glavi. |
getResponseHeader() | Vrne določene informacije o glavi. |
open(metoda, url, async, uporabnik, geslo) | Določimo zahtevo: metoda (vrsta zahteve "GET" ali "POST"), url (lokacija datoteke), async (true (asinhrono) ali false (sinhrono)), uporabnik (uporabniško ime je neobvezno) in geslo (prav tako neobvezno) |
send() | Pošljemo zahtevo strežniku in se uporablja za zahteve "GET". |
send(string) | Pošljemo zahtevo strežniku in se uporablja za zahteve "POST". |
setRequestHeader() | Dodamo par vrednostnih oznak v glavo, ki jo želimo poslati. |
Lastnosti | Opis |
---|---|
onload | Definira funkcijo, ki jo je treba poklicati, ko je zahteva naložena. |
onreadystatechange | Določa funkcijo, ki jo je treba poklicati, ko se spremeni lastnost readyState. |
readyState | Ohrani status XMLHttpRequest zahteve:
|
responseText | Vrne odzivne podatke kot niz. |
responseXML | Vrne odzivne podatke kot datoteko XML. |
status | Številko statusa zahteve (this.readyState === 4 && this.status === 200).
|
statusText | Vrne besedilo stanja (kot je "V redu" ali "Ni najdeno"). |
AJAX Primer | Primer prikazuje, kako funkcija zahteva podatke od spletnega strežnika in jih tudi prikaže. | Glej primer |
---|
Lastnost onreadystatechange vsebuje status zahteve XMLHttpRequest in definira funkcijo povratnega klica, ki se izvede, ko se spremeni readyState stanje. Lastnost statusa in lastnosti statusText hranita status objekta XMLHttpRequest.
Lastnost | Opis |
---|---|
onreadystatechange | Definira funkcijo, ki se kliče, ko se spremeni readyState lastnost. |
readyState | Vsebuje status zahteve XMLHttpRequest.
|
status |
|
statusText | Vrne besedilo stanja (kot je "V redu" ali "Ni najdeno"). |
Funkcija onreadystatechange se pokliče vsakič, ko se stanje readyState spremeni.
onreadystatechange | Ko je readyState 4 in status 200, je odgovor pripravljen. | Glej primer |
---|