|  |  |
| --- | --- |
|  |  *See artikkel räägib veebiarenduse tehnikatest; mütoloogia tegelase kohta vaata artiklit Aias; Hollandi jalgpalliklubi kohta vaata artiklit Amsterdami Ajax* |

---

**Ajax** (ingl. ***A**synchronous **J**avaScript **A**nd **X**ML*) on kogum omavahel seotud veebiarenduse tehnikaid, mida kasutatakse rakenduse kliendi poolel interaktiivsete veebirakenduste loomisel.

Ajax võimaldab veebilehtedel JavaScriptiga serverisse tagaplaanil päringuid teha ja andmeid vastu võtta, segamata avatud lehe kuvamist ja olekut. Ajaxi kasutus on suurendanud interaktiivsete ja dünaamiliste veebilehtede arvu. Andmete saamiseks kasutatakse XMLHttpRequest objekti. Vaatamata nimele, ei ole Ajax-is XML-i kasutus tegelikult vajalik.

Nagu DHTML ja LAMP, ei ole ka Ajax iseseisev tehnika, vaid tehnoloogiate kogum. Ajax kasutab HTML-i ja CSS-i kombinatsiooni, et teavet üles märkida ja kujundada. DOM-i poole pöördutakse JavaScripti kasutades, et dünaamiliselt kuvada esitatavat teavet. JavaScript ja XMLHttpRequest võimaldavad teavet serveri ja brauseri vahel asünkroonselt vahetada, et vältida lehe uuestilaadimist.

Ajalugu
-------

1990. aastatel puudus brauserites ja veebilehtedel piisav keerukus, et võimaldada kiiret ja reageerivat kasutamist. Vormide täitmine oli tüütu, sest kogu vajalik teave tuli sisestada ja saata veebiserverile. Vormi andmed kontrolliti ja probleemide ilmnemisel kuvati sama vorm uuesti. Teabevoog oli ebaühtlane ja katkestatud, näidates HTTP seisunditut olemust.

Lehe sisu asünkroonne laadimine sai võimalikuks aastal 1995, kui ilmusid Java apletid. Need võimaldasid pärast lehe laadimist kliendi poolel andmeid serverilt asünkroonselt laadida. Tagaplaanil serverile esitatavate HTTP-päringute ja asünkroonse veebitehnika kasulikkus jäi segaseks, kuni Google hakkas AJAXit laialdaselt Gmailis (2004) ja Google Mapsis (2005) kasutama.

Lühendi "AJAX" mõtles välja Jesse James Garrett aastal 2005 duši all olles, kui mõistis, et vajab lühikest terminit tehnikakogumile, mida ta tahtis kliendile esitada.[*viide?*]

Tehnikad
--------

AJAX on saanud laia tehnikate rühma nimetuseks, mida saab kasutada veebirakenduste realiseerimiseks, mis tagaplaanil vahetaksid serveriga andmeid. Artiklis, mis esimest korda tutvustas terminit "AJAX", selgitas Garrett, et vajalikud on järgmised tehnikad:

* HTML või XHTML ja CSS esitamiseks
* DOM dünaamiliseks kuvamiseks ja andmetega ümberkäimiseks
* XML ja XSLT andmete vahetamiseks, manipuleerimiseks ja kuvamiseks
* XMLHttpRequest objekt asünkroonseks kommunikatsiooniks
* JavaScript (ECMAScript), et kõike seda omavahel siduda

Pärast seda on aga Ajaxis toimunud mitu muutust:

* JavaScript ei ole ainuke kliendi skriptimiskeel, mida saab kasutada AJAXi rakenduses. Teised keeled, näiteks VBScript, suudavad samuti neid ülesandeid täita. Sellele vaatamata on JavaScript kõige populaarsem keel AJAXi programmeerimisel.
* XML ei ole andmevahetuseks vajalik ja seega ei ole vajalik ka XSLT. JavaScript Object Notation (JSON) on alternatiivse andmevahetusvorminguna tihti kasutusel, kuigi võimalikud on teisedki vormingud, näiteks eelvormindatud HTML või lihttekst.

Viited
------

1. ↑  "Ajax: A New Approach to Web Applications". Originaali arhiivikoopia seisuga 2. juuli 2008. Vaadatud 4. märtsil 2010.

Välislingid
-----------

|  |  |
| --- | --- |
|  | Pildid, videod ja helifailid Commonsis: **Ajax** |

* Ajax: A New Approach to Web Applications Artikkel, mis lõi termini.
* Ajax Open Directory Project
* Ajax Tutorial get, post, text ja XML näited

| * v
* r
Veebitehnoloogiad         |
| --- |
| Tehnoloogiad | 
Ajax • CGI • CSS • DOM • JavaScript • DHTML • HTML (XHTML • HTML5) • HTTP (HTTPS) |