|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Nouveau Membre du Club
![]() Inscription : novembre 2008 Messages : 78 ![]() |
Hello à tous
Je cherche le moyen, dans mon code php, de détecter si l'appel au serveur provient d'une requête HTTP classique ou d'un XMLHTTPRequest. Et ce, quel que soit l'appel fait. Ceci afin d'éviter la conservation des données à but statistique si l'appel est fait de l'ajax, et n'est donc pas un nouveau chargement de page complet. Merci d'avance ! |
|
|
00
|
|
|
#2 |
|
Membre expérimenté
![]() Développeur Inscription : février 2010 Messages : 360 ![]() |
Bonjour,
En toute logique, les requêtes ne seront pas faites sur les mêmes URL(donc pas sur les mêmes scripts PHP), si c'est de l'ajax ou une requête classique du navigateur, non ? Les données renvoyée ne sont pas les mêmes (une page complète où un jeu de données) En tous cas, il s'agit dans les deux cas de requêtes HTTP, qui est un protocole, donc dans l'absolu rien ne permet de les distinguer sur le serveur. Par contre, tu as toujours la possibilité de modifier l'appel fait avec XmlHttpRequest afin de passer un paramètre précisant le type de requête par exemple... |
|
|
00
|
|
|
#3 |
![]() ![]() Inscription : janvier 2006 Messages : 1 107 ![]() |
Tu peux aussi rajouter un header dans tes requetes XmlHttp, c'est ce que beaucoup de frameworks font.
|
|
|
00
|
|
|
#4 |
|
Nouveau Membre du Club
![]() Inscription : novembre 2008 Messages : 78 ![]() |
Merci pour vos réponses
Le souci, c'est que j'ai un script qui s’exécute absolument à chaque chargement de page, et ce sur une vingtaine de sites. J'aurais aimé pouvoir détecter dans ledit script si c'est de l'ajax, afin de pouvoir lui préciser d'éviter de faire certaines opérations statistiques si c'est le cas. Mettre un marqueur sur les pages dédiées au traitement et au renvoi des données avec Ajax est une option, que j'utilise pour le moment, mais maintenir un tel système sur autant de sites s'avère vite très fastidieux, en plus d'être un nid à bugs. Voila pourquoi j'aurais aimé être capable de détecter, en toutes circonstances et indépendamment de la page, s'il s'agit d'ajax. |
|
|
00
|
|
|
#5 | |
![]() ![]() ![]() Didier MouronvalDéveloppeur Web Inscription : juin 2008 Messages : 13 807 ![]() |
Citation:
__________________
Pas de question technique par MP ! Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi ! Vous possédez un blog et aimeriez diffuser vos billets sur le forum, contactez-moi ! Mes formations video2brain : La formation complète sur JavaScript • JavaScript et le DOM par la pratique • PHP 5 et MySQL : les fondamentaux Mon livre sur jQuery
|
|
|
00
|
|
|
#6 |
|
Nouveau Membre du Club
![]() Inscription : novembre 2008 Messages : 78 ![]() |
C'est vrai, je pourrais aussi faire cela... Mais dans le cas où je n'aurais pas accès au code JS ? Ce n'est pas moi qui développe ces sites, et les équipes en charge tournent régulièrement, aussi il se peut que quelqu'un modifie le JS / ajoute un appel Ajax sans nécessairement être au courant du fait qu'il faut lui intégrer un header...
|
|
|
00
|
|
|
#7 |
|
Membre expérimenté
![]() Développeur Inscription : février 2010 Messages : 360 ![]() |
Rien ne différencie une requête HTTP d'une autre requête HTTP(pour le serveur).
Si tu n'as pas la main sur toutes les sources des requêtes, tu ne peux que faire la distinction sur la cible de la requête... Peut-être que tu peux organiser correctement les pages de traitement afin de ne pas y inclure le script ? Une sorte de template dédiés aux traitements Ajax ? Où un sous-dossier particulier ? Si la solution semble complexe à maintenir, c'est sans aucun doute un défaut de convention et/ou d'organisation sur le serveur... C'est une question de design ! J'avoue ne pas avoir rencontré ce problème, puisque je pars toujours du principe que des pages destinées à afficher du HTML ne seront pas appelé en Ajax, et que des pages dédiées à des traitements ne renverront pas les données au format HTML... ![]() [mode troll on] Vive le JSON Et j'ai du mal à voir dans quel cas l'Ajax servirait à charger un document HTML complet ... |
|
|
10
|
|
|
#8 |
|
Nouveau Membre du Club
![]() Inscription : novembre 2008 Messages : 78 ![]() |
Ah non, c'est pas un document html complet :p
c'est plutot que les pages appellent la config, où se déroule le script... Toutes les pages appellent la config. De toute façon, je suis d'accord avec toi, quand j'ai un boulot à faire, je sépare aussi le traitement de l'affichage... Mais c'est pas moi qui bosse sur ces sites, je fais qu'y intégrer un script ![]() Mais bon, c'est bien comme je pensais, le seul moyen de différencier c'est d'utiliser un header particulier, comme le X_REQUESTED_WITH des frameworks... Vais voir si je peux pas les pousser à tout faire via jquery pour l'ajax, tiens. Merci à tous, je passe en résolu ! |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com