Maison >développement back-end >tutoriel php >Pourquoi $_SERVER[\'HTTP_X_REQUESTED_WITH\'] est-il absent de la documentation PHP et comment puis-je détecter de manière fiable les requêtes AJAX ?

Pourquoi $_SERVER[\'HTTP_X_REQUESTED_WITH\'] est-il absent de la documentation PHP et comment puis-je détecter de manière fiable les requêtes AJAX ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-12-01 12:30:11711parcourir

Why is $_SERVER['HTTP_X_REQUESTED_WITH'] Missing from PHP Documentation, and How Can I Reliably Detect AJAX Requests?

Les insaisissables $_SERVER['HTTP_X_REQUESTED_WITH'] en PHP

Les requêtes AJAX sont devenues omniprésentes sur le Web, et discerner si une requête est AJAX ou non peut être crucial pour optimiser l’exécution du code. En PHP, il est classiquement recommandé de vérifier l'existence de $_SERVER['HTTP_X_REQUESTED_WITH'].

Cependant, cette variable est mystérieusement absente de la documentation officielle PHP. Les tentatives pour y accéder ne renvoient rien, jetant le doute sur sa disponibilité.

Dévoilement de la variable cachée

En réalité, les variables de $_SERVER sont externes à PHP lui-même, injectées par le serveur Web. L'en-tête X-Requested-With, qui indique une requête AJAX, est généralement envoyé par les principaux frameworks.

Notes d'avertissement

Alors que $_SERVER['HTTP_X_REQUESTED_WITH'] peut être un indicateur utile, il n'est pas universellement fiable. Certains frameworks peuvent ne pas toujours envoyer cet en-tête, vous laissant avec des faux positifs ou négatifs.

Une solution infaillible

Pour une certitude absolue, le seul moyen infaillible de distinguer les requêtes AJAX consiste à définir un indicateur spécifique (par exemple, une variable GET) qui accompagne la requête et à vérifier sa présence sur la page de réception.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn