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 :

[AJAX] responseText renvoie 0


Sujet :

AJAX

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 9
    Par défaut [AJAX] responseText renvoie 0
    Bonjour,

    J'ai un problème avec ma fonction ajax, le texte récupéré par la fonction responseText me donne systématiquement 0 lorsque que mon fichier php contient echo "valeur : "+$_GET['valeur']; Par contre si je mets echo "valeur : toto"; ca marche. J'aimerais savoir pourquoi : /

    Merci d'avance

    voici le code

    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
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    function f_test_1()
    {
     
    	texte="toto";
       	var http=null;
        	try
        	{
          		http = new XMLHttpRequest(); 
        	} catch(e)
        	{ 
          		try {
    			http = new ActiveXObject("Msxml2.XMLHTTP"); 
    		}catch (e2)
         		{ 
            		try { 
    				http = new ActiveXObject("Microsoft.XMLHTTP"); 
    			}catch (e) {}
         		}
       	}
     
     
         	http.onreadystatechange  = function()
         	{ 
              	if(http.readyState  == 4)
              	{
                  		if(http.status  == 200) 
                   		{
     	             		texte=http.responseText;
                   		} 
              	}
         	}; 
     
    	http.open("GET", "test_1.php?valeur=toto", false); 
    	http.send(null)
     
    	alert("texte = "+texte);
     
    	return;
     
    }

    test_1.php

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <?php
    echo "valeur : ".$_GET['valeur'];
    ?>

  2. #2
    Membre éprouvé Avatar de oceane751
    Profil pro
    Intégrateur Web
    Inscrit en
    Novembre 2004
    Messages
    1 280
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Intégrateur Web

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 280
    Par défaut
    pourrais tu nous donner le code php en entier?
    pourquoi
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    http.open("GET", "test_1.php?valeur=toto", false);
    si tu as besoin d'envoyer une valeur au fichier php, j'aurai plutôt pris la méthode POST

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    168
    Détails du profil
    Informations personnelles :
    Localisation : Cameroun

    Informations forums :
    Inscription : Avril 2009
    Messages : 168
    Par défaut
    Slt croquette06
    dans ta focntion f_test_1(), je ne comprends pas pourquoi tu mélanges l'initialisation de l'objet http avec l'appel du GET.
    De plus tu devrais appeler le GET avant de vérifier le statut de retour.
    Pour être clair tu pourrais faire 3 fonctions:
    fonction d'intialisation:

    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
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
     var http; // variable globale dans ton fichier js. 
     
     functInit(){
    	try
        	{
          		http = new XMLHttpRequest(); 
        	} catch(e)
        	{ 
          		try {
    			http = new ActiveXObject("Msxml2.XMLHTTP"); 
    		}catch (e2)
         		{ 
            		try { 
    				http = new ActiveXObject("Microsoft.XMLHTTP"); 
    			}catch (e) {}
         		}
       	}
     
     }
     
     functTraitemnt(){
    	http=functInit();
     
    	http.open("GET", "test_1.php?valeur=toto", true); //mettre cette valeur à true parce que cela force l'objet à attendre une réponse 
     
    	http.onreadystatechange = funcRetour;
    	http.send(null);
     
     
     
     }
     
     functRetour(){
    	if(http.readyState  == 4)
              	{
                  		if(http.status  == 200) 
                   		{
     	             		texte=http.responseText;
     
    						alert("text "+texte);
                   		} 
              	}
     
     }
    mais comme l'a dit oceane751, c'est aussi mieux d'avoir le fichier php en entier.
    Si ça peut t'aider........

Discussions similaires

  1. [AJAX] responseText marche et responseXML ne marche pas
    Par peck dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 24/04/2007, 17h02
  2. [AJAX] ResponseText renvoie Undefined
    Par d-Rek dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 24/04/2007, 08h57
  3. [AJAX] responseText et JS de <script>
    Par lionheart33806 dans le forum Général JavaScript
    Réponses: 25
    Dernier message: 18/10/2006, 16h08
  4. [AJAX] responseText ou responseXML ?
    Par Greggggggg dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 29/08/2006, 09h46
  5. [AJAX] responseText est vide
    Par julien.63 dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 18/04/2006, 16h28

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