Si vous êtes totalement nouveau dans AJAX (qui signifie Asynchronous Javascript And XML), l' entrée AJAX sur wikipedia est un bon point de départ:
Comme DHTML et LAMP, AJAX n'est pas une technologie en soi, mais un groupe de technologies. AJAX utilise une combinaison de:
- HTML et CSS pour le balisage et le style des informations.
- Le DOM accédé avec JavaScript pour afficher et interagir dynamiquement avec les informations présentées.
- Une méthode pour échanger des données de manière asynchrone entre le navigateur et le serveur, évitant ainsi les recharges de page. L'objet XMLHttpRequest (XHR) est généralement utilisé, mais parfois un objet IFrame ou une balise ajoutée dynamiquement est utilisée à la place.
- Un format pour les données envoyées au navigateur. Les formats courants incluent XML, HTML pré-formaté, texte brut et JavaScript Object Notation (JSON). Ces données peuvent être créées dynamiquement par une forme de script côté serveur.
Comme vous pouvez le voir, d'un point de vue purement technologique, il n'y a rien de vraiment nouveau ici. La plupart des pièces AJAX étaient déjà là en 1994 (1999 pour l' XMLHttpRequest
objet). La vraie nouveauté était d'utiliser ces pièces ensemble comme Google l'a fait avec GMail (2004) et Google Maps (2005). En fait, les deux sites ont fortement contribué à la promotion d'AJAX.
Une image valant mille mots, sous un schéma qui illustre la communication entre le client et le serveur distant, ainsi que les différences entre les applications classiques et basées sur AJAX:
Pour la partie orange, vous pouvez tout faire à la main (avec l' XMLHttpRequest
objet) ou vous pouvez utiliser des bibliothèques JavaScript célèbres comme jQuery , Prototype , YUI , etc. pour "AJAXifier" le côté client de votre application. Ces bibliothèques visent à masquer la complexité du développement JavaScript (par exemple, la compatibilité entre navigateurs), mais pourraient être excessives pour une fonctionnalité simple.
Côté serveur, certains frameworks peuvent également aider (par exemple DWR ou RAJAX si vous utilisez Java), mais tout ce que vous avez à faire est essentiellement d'exposer un service qui ne renvoie que les informations requises pour mettre à jour partiellement la page (initialement en XML / XHTML - le X en AJAX - mais JSON est souvent préféré de nos jours).