XMLHttpRequest (XHR)
API historique du navigateur permettant de transmettre des requêtes HTTP asynchrones; les interfaces WordPress actuelles peuvent également employer fetch et api-fetch. Son application dépend du contexte WordPress et de la configuration technique.
Rôle et fonctionnement
API historique du navigateur permettant de transmettre des requêtes HTTP asynchrones; les interfaces WordPress actuelles peuvent également employer fetch et api-fetch. La partie JavaScript s’exécute dans le navigateur. Son chargement est orchestré côté WordPress, mais les autorisations et écritures doivent rester contrôlées par le serveur. Pour XMLHttpRequest (XHR), il faut distinguer le principe présenté, la responsabilité de WordPress et les éventuelles bibliothèques ou services externes : la fiche précise le mécanisme sans le présenter à tort comme une fonction native si ce n’en est pas une.
À quoi cela sert ?
Dans le contexte WordPress, le besoin pratique est le suivant : comprendre une ancienne extension qui appelle admin-ajax.php via JavaScript. Cela permet de résoudre un besoin identifié plutôt que d’activer une fonctionnalité uniquement parce qu’elle existe. On commence par préciser la donnée ou l’interface concernée, l’endroit où le traitement intervient et les utilisateurs autorisés à le déclencher.
Quand l’utiliser dans un projet ?
Une application concrète est : comprendre une ancienne extension qui appelle admin-ajax.php via JavaScript. Le bon choix dépend de la couche à laquelle agit XMLHttpRequest (XHR) : interface, transport HTTP, infrastructure, stockage ou programmation serveur. Avant intégration, confirmer la compatibilité et les composants dont dépend l’exemple.
Exemple technique commenté
const xhr = new XMLHttpRequest(); xhr.open( 'GET', '/wp-json/' ); xhr.send();
L’extrait JavaScript s’exécute dans le navigateur après chargement des dépendances nécessaires. Il doit être livré par le système de scripts du thème ou de l’extension.
Décryptage du résultat attendu
L’exemple illustre XMLHttpRequest (XHR) dans une situation volontairement limitée : comprendre une ancienne extension qui appelle admin-ajax.php via JavaScript. Son résultat attendu est de rendre observable le mécanisme décrit, non de constituer à lui seul une extension prête à publier. Les retours d’erreur, l’accessibilité et les permissions doivent être traités autour du fragment lorsque le scénario l’exige.
Atelier de vérification
- Reproduire le contexte du cas : Comprendre une ancienne extension qui appelle admin-ajax.php via JavaScript
- Appliquer uniquement l’exemple correspondant à la couche étudiée (javascript) dans un environnement isolé.
- Ouvrir les outils de développement, contrôler les événements et vérifier qu’aucune dépendance ne manque.
- Documenter le résultat et confronter l’observation à la description de XMLHttpRequest (XHR).
Erreurs et limites à connaître
Le JavaScript exécuté côté client ne remplace pas les validations ni les permissions sur le serveur.
Diagnostic avancé
Ouvrir les outils de développement, contrôler les événements et vérifier qu’aucune dépendance ne manque. Si le résultat diverge, vérifier d’abord les préconditions, les versions et les composants externes. Isoler ensuite la différence entre absence de donnée, comportement normal et erreur effective, avant d’envisager une modification du site public.
À ne pas confondre
Le terme XMLHttpRequest (XHR) désigne ici un mécanisme précis. Il ne doit pas être confondu avec les outils qui l’observent, les options qui le configurent ni les protections qui peuvent le compléter. Les explications et les exemples restent valables dans leur contexte indiqué, pas automatiquement pour toutes les installations WordPress.
