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

jQuery Discussion :

Tableau PHP vers JavaScript


Sujet :

jQuery

  1. #1
    Candidat au Club
    Homme Profil pro
    autre
    Inscrit en
    Août 2014
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : autre

    Informations forums :
    Inscription : Août 2014
    Messages : 2
    Points : 2
    Points
    2
    Par défaut Tableau PHP vers JavaScript
    Bonjour à tous,

    J'ai tapé ce code, mais le parse de l'objet Json ne fonctionne pas.
    J'ai certainement fait une erreur, mais laquelle ?

    Voici le fichier index.php
    _____________________________________________________________________________________________________________
    Code html : 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
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Autocomplete jQuery</title>
    <link rel="stylesheet" href="css/style.css" />
    <script type="text/javascript" src="js/jquery-1.11.1.js"></script>
    </head>
    <body>
     
    <form name="Form_Utilistateur" action="autocompletion.php" method="POST" >
         ETAPE 1<input type="text" name ="Champ1" id="Champ1" onmouseover="autocomplet()" autocomplete="off"/>
    		<ul id="Liste_Champ1"></ul></br>
         ETAPE 2<input type="text" name ="Champ2" id="Champ2" onmouseover="affichageParse()" autocomplete="off"/>
    		<ul id="Liste_Champ2"></ul></br>
                   <input type="submit" value="JSON" name="B1">
    </form>
    </body>
    </html>
    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
    var variable1="blabla";
    var tab2 = new Array();
    var a=0;
     
    function autocomplet(){
    	$.ajax({
    		type: 'POST',
    		url: 'autocompletion.php',
    		data: {variable1:variable1},		
    		dataType: 'json',
    		success:function(donnee){
    			tab2= JSON.parse(donnee);
    			$('#Liste_Champ1').show();
    			$('#Liste_Champ1').html(tab2["clef0"]);
    		},
    		error:function(msg){
                           	alert( "Error !: " + msg);
                    }
    	});
    }
    function affichageParse() { 
    	$('#Liste_Champ2').show();
    	$('#Liste_Champ2').html('<font color="red">'+variable1+'</font>');
    }
    et voici la repose serveur PHP (autocompletion.php)

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <?php
    $_POST['variable1']="blabla";
    if (isset($_POST['variable1'])){
    	header('Content-type: application/json');
    	$list = array("clef0"=>"valeur1","clef1"=>"valeur2","clef2"=>"valeur3","clef3"=>"valeur4",);
    	echo json_encode($list);
    }
    ?>
    echo json_encode($list) donne en Json {"clef0":"valeur1","clef1":"valeur2","clef2":"valeur3","clef3":"valeur4"}apparament c'est correct le Framework que j'utilise c'est jquery-1.11.1.js

    D'avance merci

    Note: désolé pour la présentation du code mais je debute et je ne sais pas comment afficher les fonctions et variables en couleurs....

  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
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    A partir du moment où tu précises dans la requête dataType: 'json', jQuery se charge tout seul de parser la réponse reçue, du coup, tab2= JSON.parse(donnee); va tenter de parser un objet, ce qui provoque une erreur.

    Ce que tu aurais pu voir directement en regardant la console de débogage du navigateur (F12).

  3. #3
    Candidat au Club
    Homme Profil pro
    autre
    Inscrit en
    Août 2014
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : autre

    Informations forums :
    Inscription : Août 2014
    Messages : 2
    Points : 2
    Points
    2
    Par défaut
    Bovino,

    Je ne sais pas comment te remercier
    j'ai donc remplacé, le code dans 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
    function autocomplet(){
    	$.ajax({
    		type: 'POST',
    		url: 'autocompletion.php',
    		data: {variable1:variable1},		
    		dataType: 'json',
    		success:function(donnee){
    			tab2= JSON.parse(donnee);
    			$('#Liste_Champ1').show();
    			$('#Liste_Champ1').html(tab2["clef0"]);
    		},
    		error:function(msg){
                           	alert( "Error !: " + msg);
                    }
    	})
    ;

    par:
    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
    function autocomplet(){
    		$.ajax({
    			type: 'POST',
    			url: 'autocompletion.php',
    			data: {variable1:variable1},
    			dataType: 'json',
    			success:function(donnee){
     
    						$('#Liste_Champ1').show();
    						$('#Liste_Champ1').html(donnee["clef3"]);
    			},
        			error:function(msg){
                                	alert( "Error !: " + msg);
                        }
    		});
     
    }
    Et ça fonctionne !!!!!
    Un grand merci aussi pour la baguette magique F12, utile sur IE v8, Chrome v37 et Firefox v32...

    Au plaisir, de te rencontrer, à nouveau sur le forum de developpez.net

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

Discussions similaires

  1. Passage tableau PHP vers fonction javascript - contrôle de choix
    Par carkiko dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 29/04/2015, 12h08
  2. Tableau PHP vers JavaScript
    Par ractamard dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 27/02/2015, 17h20
  3. Réponses: 4
    Dernier message: 11/04/2014, 17h45
  4. Récupérer tableau php vers javascript
    Par Paulo62 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 30/07/2011, 11h23
  5. Recuperer un tableau php dans javascript
    Par 17mounir dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 11/08/2005, 09h07

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