AJAX signifie Asynchronous JavaScript and XML et est une technologie qui permet aux pages Web d'être mises à jour de manière asynchrone, ce qui signifie que le navigateur n'a pas besoin de recharger la page entière lorsque seule une petite quantité de données sur la page change. AJAX fournit uniquement des informations mises à jour au serveur.
Les applications Web standard gèrent les interactions entre les visiteurs Web et les serveurs de manière synchrone. Cela signifie qu'une chose se produit l'une après l'autre ; le serveur n'effectue pas plusieurs tâches. Si vous cliquez sur le bouton, un message est envoyé au serveur et une réponse est renvoyée. Vous ne pouvez pas interagir avec d'autres éléments de la page tant que la réponse n'est pas reçue et que la page n'est pas mise à jour.
Évidemment, ce délai aura un impact négatif sur l'expérience du visiteur web - d'où l'utilisation d'AJAX.
Qu'est-ce qu'AJAX ?
AJAX n'est pas un langage de programmation, mais un script côté client qui intègre la communication avec un serveur Web (c'est-à-dire dans la technologie du navigateur de l'utilisateur de exécution de scripts). De plus, son nom est quelque peu trompeur : même si une application AJAX peut utiliser XML pour envoyer des données, elle peut également utiliser simplement du texte brut ou du texte JSON. Mais généralement, il utilise l'objet XMLHttpRequest dans le navigateur (pour demander des données au serveur) et JavaScript pour afficher les données.
AJAX : synchrone ou asynchrone
AJAX peut en fait accéder au serveur de manière synchrone et asynchrone :
de manière synchrone, où le script s'arrête et attend le serveur pour envoyer une réponse avant de continuer.
Async, où le script permet de continuer le traitement de la page et de gérer les réponses lorsque la page arrive.
Le traitement des demandes de manière synchrone est similaire au rechargement de la page, mais ne télécharge que les informations demandées plutôt que la page entière. Par conséquent, utiliser AJAX de manière synchrone est plus rapide que de ne pas l’utiliser du tout, mais cela nécessite néanmoins que le visiteur attende le téléchargement avant toute autre interaction avec la page. En règle générale, les utilisateurs savent qu'ils doivent parfois attendre que les pages se chargent, mais ne sont pas habitués à subir des retards constants et visibles sur un site.
Le traitement des requêtes de manière asynchrone évite les retards de récupération depuis le serveur car le visiteur peut continuer à interagir avec la page Web ; les informations demandées seront traitées en arrière-plan et la réponse mettra à jour la page au fur et à mesure de son arrivée. De plus, même si la réponse est retardée (par exemple, dans le cas de données très volumineuses), l'utilisateur peut ne pas s'en rendre compte car il prend du temps ailleurs sur la page. Cependant, pour la plupart des réponses, le visiteur ne sait même pas qu’une requête a été adressée au serveur.
Par conséquent, la façon préférée d'utiliser AJAX est d'utiliser des appels asynchrones autant que possible. Il s'agit du paramètre par défaut dans AJAX.
Pourquoi utiliser AJAX synchrone ?
Si les appels asynchrones offrent une expérience utilisateur si améliorée, pourquoi AJAX offre-t-il un moyen de passer des appels synchrones ?
Bien que les appels asynchrones constituent la meilleure option dans la plupart des cas, il existe de rares cas où il n'est pas logique de permettre à un visiteur de continuer à interagir avec une page Web jusqu'à ce qu'un processus spécifique côté serveur soit terminé.
Dans de nombreux cas, il est préférable de ne pas utiliser Ajax du tout et de simplement recharger la page entière. L'option synchrone en AJAX est utile pour les quelques cas où les appels asynchrones ne peuvent pas être utilisés mais sans recharger la page entière. Par exemple, vous devrez peut-être gérer certaines transactions pour lesquelles les commandes sont importantes. Prenons une situation dans laquelle une page Web doit renvoyer une page de confirmation après que l'utilisateur a cliqué sur quelque chose. Cela nécessite une requête synchrone.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!