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 :

Pas de retour Ajax


Sujet :

AJAX

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 31
    Points : 37
    Points
    37
    Par défaut Pas de retour Ajax
    Bonjour à tous

    Je tente d'afficher les villes concernées par la saisie d'un Code Postal avec Ajax pour éviter la recharge de la page, et Mysql :

    extrait du Fichier html :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
     <div class="divProfil_IinfosBase">
    	<label for="Profil_Pays"></label>
    	  <select id="Profil_Pays" class="ComboTexte_Moyen">
    		<option value="BE">Belgique</option> 
    		<option value="FR" selected>France</option>
    		<option value="CH">Suisse</option>
              </select>
    	<label for="Profil_CP"></label>
    	<input id="Profil_CP" class="inputTexte_Petit" type="text" placeholder="Code Postal" onblur="ajax_post('divComboVilles','script_rechVillesparCP.php');"/>
    	<div id="divComboVilles"></div>
    </div>

    voici le code Ajax , mis dans un fichier spécifique . js :

    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
     
    function ajax_post(paramDivDesti, paramFicPhp){
    	//Var varCP1 = document.getElementById('AdrCP');
    	var VarPays;
    	var VarCP;
    	var VarDataPOST;
    	var FicPHP;
     
       VarPays = document.getElementById('Profil_Pays').value;
       VarCP = document.getElementById('Profil_CP').value;
     
     
        var xmlhttp = new XMLHttpRequest();
        xmlhttp.onreadystatechange = function() {
            if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
                document.getElementById(paramDivDesti).innerHTML = xmlhttp.responseText;
            }
        }
     
         //FicPHP = "../scripts/"+paramFicPhp;
         xmlhttp.open("POST", "./script_rechVillesparCP.php" , true);
         xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
         xmlhttp.send("paramPays='"+ VarPays + "'&paramCP='"+ VarCP +"'");
    }
    NB : les paramètres VarPays et VarCP sont bien récupérés


    Et c'est là que ça pèche , le fichier 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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
     
    <?
    require 'script_paramDB.php';
    echo $_POST['paramPays'];
     
      //On vérifei les paramètres
      if(isset($_POST['paramPays']) || isset($_POST['paramCP']) ){
     
      	$con = mysqli_connect($host,$user,$pass,$db);
     
    	// Check connection
    	if (!$con)
    	{
    	  echo 'Connexion à MySQL: impossible : '.mysqli_connect_error();
    	}
    	$parPays = $_POST['paramPays'];
    	$parCP = $_POST['paramCP'];
     
    	/*  une requète  pour récupérer les villes concernées par le CP saisi */
      	$query  = "SELECT ville_code_postal, ville_code_commune, ville_nom_reel ";
      	$query .= "FROM psol_adrvilles WHERE Ville_Pays='".$parPays."' AND ville_code_postal='".$parCP."' ";
      	$query .= "ORDER BY ville_nom_reel";
     
     
    	if ($result = mysqli_query($con, $query)) {
    	    /* Tableau associatif de la ligne sélectionnée */
    	    while ($row = mysqli_fetch_assoc($result)) {
    	        printf ("%s (%s)\n", $row["ville_nom_reel"], $row["ville_code_postal"]);
    	    }
     
    	    /* Libération du jeu de résultats */
    	    mysqli_free_result($result);
    	}else{
    		$result=die(mysqli_error($con)." Q=".$query);
    	}
     
    }
     
    ?>
    Le fichier n'est pas du tout appelé, aucune réponse n'est affichée, aucun 'echo' non plus... les deux fichiers sont dans le même dossier

    Merci à tous
    Franck

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    J'ai testé ton script sans la partie base de donnée et ça fonctionne pour moi.
    Tu as regardé les erreurs dans la console de ton navigateur et dans tes logs PHP ?

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2016
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2016
    Messages : 8
    Points : 12
    Points
    12
    Par défaut
    Ou même effacer les cookies sur ton navigateur et retenter ?

  4. #4
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 31
    Points : 37
    Points
    37
    Par défaut
    Citation Envoyé par sabotage Voir le message
    J'ai testé ton script sans la partie base de donnée et ça fonctionne pour moi.
    Tu as regardé les erreurs dans la console de ton navigateur et dans tes logs PHP ?
    Bon voila, j'ai modifié ma partie Ajax..

    Dans la partie paramètres (VarDataPOST ici) ne pas mettre de simple cote avant de fermer la chaine pour ajouter la variable..(ligne 12)
    Malgré le fait que le fichier js et php soient dans le même dossier il faut rajouter la partie "./scripts/" avant le fichier php.. (ligne 21)



    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
     
    function ajax_post(paramDivDesti, paramFicPhp){
    	//Var varCP1 = document.getElementById('AdrCP');
    	var VarPays;
    	var VarCP;
    	var VarDataPOST;
    	var FicPHP;
     
    	VarPays = document.getElementById('Profil_Pays').value;
        VarCP = document.getElementById('Profil_CP').value;
    	//VarDataPOST = "paramPays='"+ VarPays + "'&paramCP='"+ VarCP +"'";
    	VarDataPOST = "paramPays="+ VarPays + "&paramCP="+ VarCP;
     
        var xmlhttp = new XMLHttpRequest();
        xmlhttp.onreadystatechange = function() {
            if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
                document.getElementById(paramDivDesti).innerHTML = xmlhttp.responseText;
            }
        }
     
         FicPHP = "./scripts/"+paramFicPhp;
         xmlhttp.open("POST", FicPHP , true);
         xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
         xmlhttp.send(VarDataPOST);
    }
    Dans ma console, les paramètres sont maintenant OK; le fichier PHP est trouvé, et je trouve le contenu de ce fichier dans la partie Réponse... mais sans réponse désirée... (Les villes ne sont toujours pas renvoyées... grrr

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 31
    Points : 37
    Points
    37
    Par défaut Réponse
    Et enfin j'ai trouvé :

    Dans le fichier PHP, je n'avais pas mis 'php' à coté de <? à la première ligne... donc pas interprété...

    Merci à tous pour vos pistes

    Franck

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

Discussions similaires

  1. [SSH2] Pas de retour avec ssh2_shell
    Par Leobaillard dans le forum Bibliothèques et frameworks
    Réponses: 6
    Dernier message: 10/02/2008, 02h42
  2. Pas de retour des valeurs NULL
    Par titmael dans le forum Langage SQL
    Réponses: 2
    Dernier message: 17/12/2007, 14h41
  3. [AJAX] Retour AJAX dans variable PHP
    Par mulot49 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 08/06/2007, 13h00
  4. [AJAX] Javascript n'est pas exécuté avec ajax.
    Par John6281 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 27/02/2007, 14h35
  5. pas de retour si count = 0
    Par pittacos dans le forum Langage SQL
    Réponses: 3
    Dernier message: 12/08/2005, 11h11

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