Jugez en ajoutant des informations xmlhttp à l'en-tête."/> Jugez en ajoutant des informations xmlhttp à l'en-tête.">

Maison >développement back-end >Problème PHP >Comment déterminer s'il s'agit d'une requête ajax en php

Comment déterminer s'il s'agit d'une requête ajax en php

藏色散人
藏色散人original
2021-09-01 09:28:113763parcourir

Comment PHP détermine s'il s'agit d'une requête ajax : 1. Jugez via la méthode "if(isset($_SERVER["HTTP_X_REQUESTED_WITH"]){...}" ; 2. Jugez en ajoutant des informations xmlhttp à l'en-tête.

Comment déterminer s'il s'agit d'une requête ajax en php

L'environnement d'exploitation de cet article : système Windows 7, PHP version 7.1, ordinateur Dell G3

Comment PHP détermine-t-il s'il s'agit d'une requête ajax

PHP détermine s'il s'agit d'une requête AJAX

?

Tout d'abord, comment distinguer quand le front-end utilise jQuery :

  Lorsque jQuery émet une requête ajax, il ajoute une information appelée : Le tiret est remplacé par un trait de soulignement, insensible à la casse)

De là, nous pouvons jugez s'il s'agit d'une requête ajax comme celle-ci :

// php 判断是否为 ajax 请求  http://www.cnblogs.com/sosoft/
if(isset($_SERVER["HTTP_X_REQUESTED_WITH"]) && strtolower($_SERVER["HTTP_X_REQUESTED_WITH"])=="xmlhttprequest"){ 
    // ajax 请求的处理方式 
}else{ 
    // 正常请求的处理方式 
};

Lorsque vous utilisez du JavaScript natif pour émettre une requête ajax, nous pouvons également ajouter les informations d'en-tête pour faciliter la distinction entre les étudiants du back-end, la méthode est la suivante :

 var xmlhttp=new XMLHttpRequest(); 
 xmlhttp.open("GET","test.php",true); 
 xmlhttp.setRequestHeader("X-Requested-With","XMLHttpRequest"); 
 xmlhttp.send();

Ici, nous ajoutons également les informations X_REQUESTED_WITH à l'en-tête, ce qui est cohérent avec jQuery. Bien sûr, vous pouvez également les remplacer par d'autres informations pour distinguer

 OK, quels sont les avantages de faire la distinction ? :

 1. Lorsque le fichier js n'est pas chargé, l'utilisateur clique sur un bouton ou un lien, et ce qui devrait être une requête ajax devient une requête normale. Sur la base du jugement, la fin ne génère pas les données json pendant ajax, mais. sauts. C'est aussi une forme de dégradation gracieuse.

  2. [Une page] utilise ajax pour se connecter, [Page B] utilise la méthode normale pour se connecter, s'il n'y a pas de distinction, le backend doit écrire presque. le même code deux fois, et avec la distinction, le code en double peut être éliminé

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!

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