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 : 53
    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).
    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
    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