AJAX

Démarrer avec AJAX

AJAX (Asynchronous JavaScript + XML) n'est pas une technologie en soi, mais un terme désignant une « nouvelle » approche utilisant un ensemble de technologies existantes, dont : HTML ou XHTML, CSS, JavaScript, DOM, XML, XSLT, et surtout l'objet XMLHttpRequest. Lorsque ces technologies sont combinées dans le modèle AJAX, les applications web sont capables de réaliser des mises à jour rapides et incrémentales de l'interface utilisateur sans devoir recharger la page entière dans le navigateur. Les applications fonctionnent plus rapidement et sont plus réactives aux actions de l'utilisatrice ou de l'utilisateur.

Bien que le X de AJAX signifie XML, c'est le format JSON qui est le plus souvent utilisé aujourd'hui à la place de XML, du fait de sa proximité avec JavaScript et de sa légèreté par rapport à XML. Autrement dit, tant JSON que XML peuvent être utilisés comme format afin d'empaqueter des données en AJAX.

Documentation

Démarrer

Cet article vous guide parmi les notions de base d'AJAX et fournit deux exemples pour mettre le pied à l'étrier.

Utiliser l'API XMLHttpRequest

L'API XMLHttpRequest est au cœur d'AJAX. Dans cet article, plusieurs techniques sont abordées :

API Fetch

L'API Fetch fournit une interface permettant de récupérer (fetch en anglais) des ressources. Elle ressemble à celle exposée par XMLHTTPRequest, mais fournit des fonctionnalités plus flexibles et puissantes.

Évènements émis par le serveur

Généralement, c'est la page web qui initie une requête vers le serveur afin de recevoir de nouvelles données. Avec les évènements émis par le serveur, un serveur peut envoyer de nouvelles données à une page web à tout moment, via des messages. Ces derniers peuvent être traités par la page web comme des évènements contenant des données. Voir aussi : Utiliser les évènements émis par le serveur.

Exemple de navigation avec un site utilisant AJAX pur

Cet article contient un exemple fonctionnel minimaliste d'un site web composé de trois pages et qui utilise AJAX.

Envoyer et recevoir des données binaires (en-US)

La propriété responseType de l'objet XMLHttpRequest peut être modifiée afin de changer le type de réponse attendu du serveur. Les valeurs possibles sont la chaîne vide (la valeur par défaut), arraybuffer, blob, document, json, et text. La propriété response contiendra le corps de l'entité selon la valeur de responseType, ce pourra donc être un objet ArrayBuffer, Blob, Document, JSON, ou une chaîne de caractères. Cet article aborde quelques techniques d'entrée/sortie AJAX.

XML

Le langage XML (Extensible Markup Language) est un langage balisé qui permet de créer des formats pour des données particulières. Il s'agit d'un sous-ensemble simplifié de SGML, capable de décrire différentes sortes de données. Son principal objectif est de faciliter le partage de données entre différents systèmes, notamment ceux connectés par Internet.

Analyser et sérialiser du XML (en-US)

Dans cet article, on voit comment analyser un document XML à partir d'une chaîne de caractères, d'un fichier ou via JavaScript. On voit également comment sérialiser des documents XML en chaînes de caractères, en arbres d'objets JavaScript ou en fichiers.

XPath

XPath signifie XML Path, c'est-à-dire un langage pour décrire des chemins dans un document XML. Il s'agit d'une syntaxe non-XML qui permet de cibler différentes parties d'un document XML. On peut aussi l'utiliser pour tester certains nœuds d'un document afin de déterminer s'ils suivent un motif donné ou non.

L'API FileReader

L'API FileReader permet aux applications web de lire le contenu de fichiers (ou de tampons de données brutes) stockés sur l'ordinateur de la personne de façon asynchrone, en utilisant des objets File ou Blob pour représenter le fichier ou les données à lire. On peut obtenir des objets File depuis un objet FileList qui pourra être produit à partir d'un élément <input> de sélection de fichiers, à partir d'un objet DataTransfer d'une opération de glisser/déposer.

HTML et XMLHttpRequest (en-US)

La spécification pour l'API XMLHttpRequest ajoute la capacité d'analyser du HTML à XMLHttpRequest (initialement limité à l'analyse de XML). Cette fonctionnalité permet aux applications web d'obtenir une ressource HTML comme un DOM analysé en utilisant XMLHttpRequest.

Outils

axios

Un client HTTP utilisant les promesses et qui utilise XMLHttpRequest en interne.

Voir aussi