Comment déterminer si php est ajax

王林
Libérer: 2023-02-24 15:50:01
original
3092 Les gens l'ont consulté

Comment déterminer si php est ajax

Aujourd'hui, j'ai rencontré le code suivant dans M_Controller, j'ai donc appris un peu sur la façon de juger la différence entre la requête ajax, la requête de publication et la fonction REQUEST_TIME et time(). La méthode

define('IS_AJAX', $this->input->is_ajax_request());
define('IS_POST', $_SERVER['REQUEST_METHOD'] == 'POST' && count($_POST) ? TRUE : FALSE);
define('SYS_TIME', $_SERVER['REQUEST_TIME'] ? $_SERVER['REQUEST_TIME'] : time());
Copier après la connexion

is_ajax_request() est une méthode en CI pour déterminer si une requête ajax est faite. Le document officiel l'explique comme suit : Vérifiez si l'en-tête du serveur contient HTTP_X_REQUESTED_WITH, et renvoyez TRUE si c'est le cas, sinon, retournez FALSE.

Bien sûr, un tel jugement n'est pas parfait. Le principe impliqué dans le jugement est le suivant :

Lorsque nous envoyons une requête ajax via jquery, un en-tête ajax nommé X- Informations demandées avec, le contenu par défaut des informations est : XMLHttpRequest, qui constitue la base du framework CI pour juger les requêtes ajax.

Mais comment juger quand nous utilisons du js natif ?

xmlHttpRequest.setRequestHeader("request_type","ajax");
Copier après la connexion

Selon l'objet XMLHttpRequest, définissez manuellement l'en-tête Une fois les paramètres ci-dessus terminés, nous pouvons l'obtenir dans le code logique PHP comme suit :

$_SERVER['HTTP_REQUEST_TYPE']
Copier après la connexion

Évidemment, le r que nous avons défini. dans l'en-têteequest_typeLors de l'obtention en arrière-plan, ajoutez la chaîne de préfixe HTTP_ pour obtenir les informations d'en-tête envoyées par la réception, c'est-à-dire en appelant $_SERVER['HTTP_REQUEST_TYPE'] pour obtenir la valeur transmise par la réception : ajax Of. Bien sûr, request_type peut également être défini sur d'autres champs.

Le contenu ci-dessus est à titre de référence uniquement !

Tutoriel recommandé : Tutoriel vidéo PHP

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal