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 :

Transmition de données JSON


Sujet :

jQuery

  1. #1
    Candidat au Club
    Inscrit en
    Mai 2005
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 5
    Points : 2
    Points
    2
    Par défaut Transmition de données JSON
    bonjour à toutes et tous.
    J'ai besoin d'un peu d'aide sur une problématique.

    Voila :

    - j'ai du code JQUERY qui récupère via PHP des données d'une BDD mysql puis les transmets à une seconde page 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
    function GetInfoUtilisateur(idUtilisateur) {
        $.ajax({
            url: 'sql/mysql-info-utilisateur.php',
            type: "POST",
            data : 'id='  + idUtilisateur,
            dataType: "json",
     
            error: function () {
            	/*Evènement lors d"une erreur*/
                alert("An error ocurred.");
            },
            success: function (data) {
     
     afficheLesInfos(data);
            }
        });
    }
     
    function afficheLesInfos (data){
     
     
    	$.ajax({
    		contenttype : 'application/json',
            type: "POST",
            data : JSON.stringify(data),
            url: 'form-info-utilisateur.php',
     
            error: function () {
            	/*Evènement lors d"une erreur*/
                alert("An error ocurred.");
            },
            success: function (dataReceive) {
            	 $("#FormInfoUtilisateur").html(dataReceive);
            }
    	 });
    }

    -- Ces données sont issue du script suivant :

    Code php : 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
     
    <?php
    	//Etablie la connection à la base de données
    	require_once('mysql-connect.php');
    	require_once('../class/securite.php');
     
    	$id=Securite::bdd($_POST['id']);
     
    	try {
    		// On envois la requète qui récupère la liste des équipes
    		$select = $connection->query("
    				SELECT nom, prenom, identifiant, administrateur, nomProfil, nomEquipe, nomFonction 
    				FROM utilisateur 
    				LEFT JOIN (fonction, profil, equipe) 
    				ON (fonction.idfonction=utilisateur.fonction_idFonction AND profil.idprofil=utilisateur.FK_idProfil AND equipe.idEquipe = utilisateur.equipe_idEquipe ) 
    				WHERE utilisateur.idUtilisateur = ".$id." ");
     
    		// On transforme les résultats en tableaux d'objet
    		$createurs = $select->fetchAll(PDO::FETCH_OBJ);
     
    	}
    	catch(Exception $e)
    	{
    		echo "Une erreur est survenue lors de la récupération des utilisateurs";
    	}
    	close();
     
    	/*Renvoi les données encoder au format JSON*/
    	echo json_encode($createurs);
    ?>



    -- Mon problème est que je n'arrive pas à récupérer mon objet JSON dans ma page 'form-info-utilisateur.php'.
    Je reçoit un tableau vide, alors que j'ai bien mes données au début de la fonction 'afficheLesInfos'.

    Je pense à un problème de convertion, mais je ne vois pas ou ?

    Je précise que je débute en Jquery !

  2. #2
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 644
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 644
    Points : 66 671
    Points
    66 671
    Billets dans le blog
    1
    Par défaut
    Si ton code est exactement celui que tu nous montres,

    tu as une ligne vide avant la balise php
    cela envoie une retour ligne en retour avant d'envoyer le string json du json_encode de php
    ce qui fait que jquery n'arrive pas à parser le json reçu en retour

  3. #3
    Candidat au Club
    Inscrit en
    Mai 2005
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 5
    Points : 2
    Points
    2
    Par défaut
    Je viens de regarder, mais l'espace ne fait pas partie de mon code, ce dernier a du apparaitre lors du copier coller.

    J'avais peur d'avoir passé tout ce temps pour un espace ....

  4. #4
    bm
    bm est déconnecté
    Membre confirmé

    Homme Profil pro
    Freelance
    Inscrit en
    Octobre 2002
    Messages
    874
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Freelance
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Octobre 2002
    Messages : 874
    Points : 556
    Points
    556
    Billets dans le blog
    6
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo json_encode($createurs);
    La fonction json_encode() n'est pas activée sur le serveur et dépend de la version de php .

  5. #5
    Candidat au Club
    Inscrit en
    Mai 2005
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 5
    Points : 2
    Points
    2
    Par défaut
    Dans ce cas le serveur devrait mer retourner une erreur, non ?

  6. #6
    bm
    bm est déconnecté
    Membre confirmé

    Homme Profil pro
    Freelance
    Inscrit en
    Octobre 2002
    Messages
    874
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Freelance
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Octobre 2002
    Messages : 874
    Points : 556
    Points
    556
    Billets dans le blog
    6
    Par défaut
    Non , jquery ne retourne aucune erreur . Il y a des librairies Json de substitution :

    http://www.boutell.com/scripts/jsonwrapper.html

    Et ensuite :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    require 'jsonwrapper.php';

  7. #7
    Candidat au Club
    Inscrit en
    Mai 2005
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 5
    Points : 2
    Points
    2
    Par défaut
    La fonction json_encode doit fonctionner normalement, je suis en PHP Version 5.4.24 et JSON et activé par défaut !
    Le problème ne doit pas venir de la , mais je vais néanmoins tester.

Discussions similaires

  1. [Dojo] Erreur lors de la récupération des données JSON
    Par benoxy dans le forum Bibliothèques & Frameworks
    Réponses: 2
    Dernier message: 21/05/2010, 19h12
  2. [AJAX] Crée dynamiquement des données JSON
    Par geforce dans le forum AJAX
    Réponses: 3
    Dernier message: 20/04/2010, 17h30
  3. [Dojo] Passage de données JSON avec xhrGet ou xhrPost
    Par Tavarez59 dans le forum Bibliothèques & Frameworks
    Réponses: 2
    Dernier message: 29/10/2009, 18h58
  4. Réponses: 2
    Dernier message: 19/06/2009, 15h21
  5. [AJAX]Récupération de données json (ajax)
    Par amarcil dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 31/10/2008, 20h47

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