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] Récupération variable


Sujet :

AJAX

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    222
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 222
    Par défaut [AJAX] Récupération variable
    Bonjour,
    Je suis super news en ajax et j'essaie de m'y mettre mais je galère pour récupérer mes variables après traitement php.
    Comme un bout de code vaut mieu que des longs discourts je vous montre un peu.
    Voilà mon ajax :
    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
     
    function vals()
    {
    	var obj = document.getElementById("zip").value;
        var reqAJAX;
    	if (window.XMLHttpRequest)
    		{ reqAJAX = new XMLHttpRequest(); }
    	else { 
    		if (window.ActiveXObject('Microsoft.XMLHTTP'))
    			{ reqAJAX = new ActiveXObject('Microsoft.XMLHTTP'); }
    		else { alert("Votre navigateur ne supporte pas AJAX");
    			return;
    		}
    	}
    	reqAJAX.open('POST', './standard/fr/script/valselect.php','false');
    	reqAJAX.send('zip='+obj);
    	alert('reponse :'+reqAJAX.responseText);
    }
    </script>
    Voilà mon php :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    <?php
    $connect=mysql_connect('localhost','root','');
    $select=mysql_select_db('noton',$connect) or die ("pb select");
    $zip=$_GET['zip'];
    $varintermediare='';
    $req="SELECT * FROM ville WHERE zip='".$zip."'";
    $queryreq=mysql_query($req) or die (mysql_error());
    while($data=mysql_fetch_assoc($queryreq)){
        $varintermediare.='<option value="'.$data['idville'].'">'.$data['ville'].'</option>';
    }
    echo $varintermediare;
    ?>
    J'ai installé firebug pour débugger et il me dit quand j'execute mon script :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    POST <a href="http://127.0.0.1/Noton/standard/fr/script/valselect.php" target="_blank">http://127.0.0.1/Noton/standard/fr/script/valselect.php</a> 200 OK 82ms
    mais dans ma boite alerte je n'est pas mon résultat de traitement php.
    Avez vous une idée car là j'avoue que je sèche.
    Merci d'avance pour votre aide
    A+

  2. #2
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    Salut.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    reqAJAX.open('POST', './standard/fr/script/valselect.php','false');
    Le 3e paramètre est un booléen, toi tu passes une chaine, qui est donc intreprétée comme true et ta requête est asynchrone.
    Essaye comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    reqAJAX.open('POST', './standard/fr/script/valselect.php',false);
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  3. #3
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Par défaut
    Bonjour,
    Pour la methode POST, tu dois ajouter
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    reqAJAX.setRequestHeader('Content-Type','application/x-www-form-urlencoded');

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    222
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 222
    Par défaut
    C'est vrai que j'avais pas fait attention à ça.

    Bon j'ai retouché un peu le code mais j'ai un truc bizar a mon avis ça doit être tout c... mais je ne trouve pas.
    Je fais passer ma requete au script php il la mouline est sort une réponse qui est l'inverse de ce que je peux avoir en appelant directement mon script php et en lui passant les paramètres.

    voilà mon ajax :
    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
     
    function vals()
    {
    	var obj = document.getElementById("zip").value;
        var reqAJAX;
    	if (window.XMLHttpRequest)
    		{ reqAJAX = new XMLHttpRequest(); }
    	else { 
    		if (window.ActiveXObject('Microsoft.XMLHTTP'))
    			{ reqAJAX = new ActiveXObject('Microsoft.XMLHTTP'); }
    		else { alert("Votre navigateur ne supporte pas AJAX");
    			return;
    		}
    	}
    	reqAJAX.open('POST', './standard/fr/script/valselect.php',false);
    	reqAJAX.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
    	reqAJAX.send('zip='+obj);
    	document.getElementById("inputsignsel").innerHTML = reqAJAX.responseText;
    }
    voilà mon php :
    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
     
    <?php
    $connect=mysql_connect('localhost','root','');
    $select=mysql_select_db('noton',$connect) or die ("pb select");
    $zip=$_GET['zip'];
    $req="SELECT * FROM ville WHERE zip='".$zip."'";
    $queryreq=mysql_query($req) or die (mysql_error());
    $rowreq=mysql_num_rows($queryreq);
    if($rowreq > 0) {$varintermediare='<select name="ville">';
    while($data=mysql_fetch_assoc($queryreq)){
        $varintermediare.='<option value="'.$data['idville'].'">'.$data['ville'].'</option>';
    }
    }
    else { $varintermediare='<select name="ville"><option value="">Pas de villes correspondantes</option>';
    }
    $varintermediare.='</select>';
    echo $varintermediare;
    ?>
    si je fais u test le met 54730 dans le champ testé cela devrait me retourner un select avec plusieurs choix (chose qui est vrai si je test direct avec php) mais il me retourne pas de correspondance.

    voilà ce que me dit firebug :
    POST :Réponse :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <select name="ville"><option value="">Pas de villes correspondantes</option></select>
    Donc je ne comprends pas comment avec une transmission juste des éléments j'ai une réponse inverse.
    Si quelqu'un a une idée je suis preneur.

  5. #5
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    Oui effectivement, c'est tout bête
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    reqAJAX.open('POST', './standard/fr/script/valselect.php',false);
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    222
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 222
    Par défaut
    Merci.
    C'était vraimeent c.. mais bon maintenant ça marche.
    Je l'avais modifiéà un moment ou je galèrais et j'avais mis ma requère en GET
    Merci à vous 2 vos réponses m'ont pas mal aidé.

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 19/05/2009, 12h48
  2. [AJAX] Récupération de variable php
    Par akara dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 30/07/2007, 15h52
  3. PHP récupération variables
    Par marie4449 dans le forum Langage
    Réponses: 3
    Dernier message: 08/06/2006, 20h14
  4. [MySQL] Problème récupération variable pour requête SQL !!
    Par mLk92 dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 01/06/2006, 16h08
  5. Réponses: 9
    Dernier message: 15/03/2006, 10h46

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