IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

AJAX Discussion :

Réponse AJAX différente


Sujet :

AJAX

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Août 2004
    Messages
    61
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2004
    Messages : 61
    Points : 53
    Points
    53
    Par défaut Réponse AJAX différente
    Bonjour,

    J'utilise AJAX depuis des années (avec Prototype), mais depuis une semaine, il "a changé".
    Ca ressemble à une blague, mais je suis sérieux
    Un petit exemple ultra simple en dira plus:

    Ici, la requête Javascript:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
     
    <script language="JavaScript">
    var myAjax = new Ajax.Request(				
    	"AJax_test.php",
    	{
    		method: 'post',
    		parameters: {
    					rubrique: "test"	
    		},
    	onComplete: bloc_AJ_retour
    	});
     
    	function bloc_AJ_retour(xhr)	{
    		if (xhr.status == 200)	{
    			var REPONSE = xhr.responseText;
    			Z=REPONSE.trim();
    		}
    	}
    </script>
    Du côté PHP :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <?php  
    if ($_POST[rubrique]=="test")   {
            echo "bonjour";
    }
    ?>
    Auparavant, la réponse à la requête renvoyait (logiquement) "Bonjour".
    Mais depuis quelques temps, cela renvoie : " Bonjour ".
    Voir la capture ci-dessous:

    Nom : capture.jpg
Affichages : 124
Taille : 8,0 Ko

    J'ai finalement "résolu" provisoirement mon problème avec des trim(), mais...

    Quelqu’un aurait-il une suggestion qui m'éclairerait ?
    Merci pour vos idées,
    Mike

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    dans le fichier PHP :
    • mettre <?php sur la TOUTE 1ère ligne (RIEN AVANT)
    • supprimer le ?> final

    Tout espace, passage à la ligne ou tabulation EN DEHORS des balises <?php ?> est considéré comme une "sortie" HTML.
    Dernière modification par Invité ; 17/01/2020 à 19h37.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Août 2004
    Messages
    61
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2004
    Messages : 61
    Points : 53
    Points
    53
    Par défaut
    Bonjour jreaux62,

    Merci pour votre réponse rapide.. et efficace !

    J'ai ainsi appris que tout ce qui se trouvait en dehors des balises PHP était considéré comme "sortie" HTML.
    J'ai donc supprimé la ligne initiale qui s'était insérée à la suite d'un malencontreux <RETURN>, et les espaces initiaux de la réponse ont effectivement disparu.

    Par contre, j'ai été fort surpris de votre suggestion de supprimer la balise "?>".
    Cela a effectivement permis de voir disparaître les espaces de fin, mais.... c'est bien la première fois que je vois une paire de balises dont.... on utilise que l'ouvrante et qu'on ne referme pas.
    Je ne comprends même pas?

    Du coup, j'ai poussé un peu plus loin: je n'ai gardé QUE le mot "bonjour" dans le fichier PHP et.... j'ai reçu la même réponse !
    Étonnant, même plus la moindre trace de PHP.

    Bref, je note ce problème comme "résolu", mais.. si vous trouvez quelques secondes pour m'éclairer sur le phénomène (pour moi, du moins) de la paire de balises qui n'en n'est plus une...il n'est jamais trop tard pour apprendre.

    Encore merci
    Mike

  4. #4
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    A lire : https://www.php.net/manual/fr/langua...ax.phptags.php

    ...Si un fichier contient seulement du code PHP, il est préférable de ne pas placer la balise de fermeture à la fin du fichier. Ceci permet d'éviter d'oublier un espace ou une nouvelle ligne après la balise de fermeture de PHP, ce qui causerait des effets non voulus car PHP commencera à afficher la sortie, ce qui n'est souvent pas le cas désiré...

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Août 2004
    Messages
    61
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2004
    Messages : 61
    Points : 53
    Points
    53
    Par défaut
    Encore merci !
    Mike

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [AJAX] Insérer une réponse ajax dans un div
    Par dzada dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 27/11/2007, 01h12
  2. [AJAX] Comment gérer des réponses ajax simultanées ?!
    Par jahjah92 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 14/09/2007, 21h48
  3. Réponses: 7
    Dernier message: 26/01/2007, 00h39
  4. [AJAX] texte réponse Ajax dans un conteneur div
    Par grinder59 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 12/02/2006, 18h07
  5. [Prototype] La réponse Ajax...
    Par SpaceFrog dans le forum Bibliothèques & Frameworks
    Réponses: 24
    Dernier message: 25/01/2006, 14h36

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo