AJAX este un termen folosit pentru a descrie o abordare a proiectării și implementării aplicațiilor web. Este un acronim pentru JavaScript asincron și XML. Termenul a fost introdus pentru prima dată într-un articol de Jesse James Garrett de la Adaptive Path, o firmă de web-design cu sediul în San Francisco. El a conceput termenul atunci când și-a dat seama că este nevoie de o modalitate ușoară, care poate fi vândută, de a prezenta clienților un anumit stil de design și construcție.
Scopul principal al AJAX este de a ajuta aplicațiile web să funcționeze mai mult ca aplicațiile desktop. HyperText Markup Language (HTML), limbajul care conduce World-Wide Web, a fost conceput în jurul ideii de hipertext – pagini de text care ar putea fi legate în interiorul lor la alte documente. Pentru ca HTML să funcționeze, majoritatea acțiunilor pe care un utilizator final le întreprinde în browserul său trimit o solicitare înapoi la serverul web. Serverul procesează apoi acea cerere, poate trimite solicitări suplimentare și în cele din urmă răspunde cu orice a cerut utilizatorul.
Deși este posibil ca această abordare să fi funcționat bine în primele zile ale internetului, pentru aplicațiile web moderne, așteptarea constantă între clicuri este frustrantă pentru utilizatori și servește la atenuarea întregii experiențe. Utilizatorii s-au obișnuit cu răspunsuri extrem de rapide în aplicațiile lor desktop și sunt nemulțumiți când un site web nu poate oferi același răspuns imediat. Prin adăugarea unui strat suplimentar între interfața cu utilizatorul și comunicarea cu serverul, aplicațiile AJAX elimină o mare parte a decalajului dintre interacțiunea utilizatorului și răspunsul aplicației. Pe măsură ce AJAX devine din ce în ce mai comun în aplicațiile web populare, utilizatorii devin din ce în ce mai obișnuiți cu acest răspuns imediat, ajutând să determine mai multe companii să adopte metodologiile AJAX.
O aplicație AJAX constă dintr-un număr de aplicații utilizate împreună pentru a crea o experiență mai simplă. Aceasta include HTML extensibil (XHTML) și foi de stil în cascadă (CSS) pentru construirea structurii de bază a paginii și, respectiv, a stilului său vizual; un fel de suită de interacțiune folosind modelul obiect document; manipularea datelor folosind Extensible Markup Language (XML); preluarea datelor folosind XMLHttpRequest; și JavaScript pentru a ajuta aceste elemente diferite să interacționeze între ele. AJAX se răspândește rapid pe web, cu exemple vizibile pe multe site-uri importante. Google Maps, de exemplu, simbolizează în multe feluri etosul modelului AJAX, cu funcționalitatea sa complexă și interactivitatea practic fără întreruperi.
La fel ca majoritatea filozofiilor emergente ale dezvoltării web, AJAX are cota sa de detractori. Un argument obișnuit împotriva AJAX este că, în multe cazuri, întrerupe anumite funcționalități așteptate, cum ar fi utilizarea butonului Înapoi, provocând confuzie. Deși există unele remedieri pentru multe dintre aceste întreruperi, acestea sunt rareori implementate în măsura în care comportamentul unei aplicații AJAX se conformează comportamentului așteptat al browserului mai mare.