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 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.
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!