AJAX est un terme utilisé pour décrire une approche pour concevoir et mettre en œuvre des applications web. Il est un acronyme pour Asynchronous JavaScript and XML. Le terme a été introduit dans un article de Jesse James Garrett d’Adaptive Path, une société de web-design basée à San Francisco. Il a conçu du terme quand il s'est rendu compte de la nécessité d'un moyen facile, vendable à la hauteur d'un certain style de conception et de construction pour les clients.
Le but principal d'AJAX est d'aider à construire des applications web fonctionnent davantage comme des applications de bureau. HyperText Markup Language (HTML), le langage qui entraîne le World-Wide Web, a été conçu autour de l'idée de l'hypertexte - pages de texte qui pourraient être liés en eux-mêmes à d'autres documents. Pour le HTML pour fonctionner, la plupart des actions que l'utilisateur final prend dans son navigateur envoie une requête au serveur Web. Le serveur traite ensuite cette demande, envoie peut-être à de nouvelles demandes, et finalement répond à ce que l'utilisateur demandé.
Bien que cette approche ait bien fonctionné dans les premiers jours de l'Internet, pour les applications web modernes, l'attente constante entre les clics est frustrant pour les utilisateurs et sert à amortir l'ensemble de l'expérience. Les utilisateurs se sont habitués à des réponses fulgurantes dans leurs applications de bureau et sont malheureux quand un site ne peut pas offrir la même réponse immédiate. En ajoutant une couche supplémentaire entre l'interface utilisateur et la communication avec le serveur, les applications AJAX supprimer une grande partie du décalage entre l'interaction de l'utilisateur et la réponse de l'application. Comme AJAX devient plus courant dans les applications web les plus populaires, les utilisateurs deviennent de plus en plus habitués à cette réaction immédiate, aidant à conduire davantage d'entreprises à adopter des méthodes AJAX.
Une application AJAX se compose d'un certain nombre d'applications utilisées conjointement pour créer une expérience plus transparente. Cela inclut Cascading Style Sheets (CSS) Extensible HTML (XHTML) et pour la construction de la structure de la page sous-jacente et son style visuel, respectivement; une sorte de suite de l'interaction avec le Document Object Model, la manipulation de données en utilisant Extensible Markup Language (XML), récupération de données utilisant XMLHttpRequest et JavaScript pour aider ces différents éléments interagissent les uns avec les autres. AJAX se répand rapidement à travers le web, avec des exemples visibles sur de nombreux sites majeurs. Google Maps, par exemple, à bien des égards incarne la philosophie du modèle AJAX, avec ses fonctionnalités complexes et interactivité pratiquement transparente.
Comme la plupart des philosophies nouvelles de développement Web, AJAX a sa part de détracteurs. Une communément nivelé argument contre AJAX est que dans de nombreux cas, il rompt certaines fonctionnalités attendues, telles que l'utilisation du bouton Retour, provoquant la confusion. Bien qu'il existe quelques correctifs pour plusieurs de ces pauses, elles sont rarement mises en œuvre dans la mesure où le comportement d'une application AJAX est conforme au comportement attendu du navigateur plus.