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

JavaScript Discussion :

Récupération de données JSON d'une page et manipulation dans un autre script


Sujet :

JavaScript

  1. #1
    Membre du Club
    Homme Profil pro
    Développeur frontend
    Inscrit en
    Octobre 2013
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur frontend

    Informations forums :
    Inscription : Octobre 2013
    Messages : 75
    Points : 56
    Points
    56
    Par défaut Récupération de données JSON d'une page et manipulation dans un autre script
    Bonjour à tous,

    je suis bloqué dans une petite expérimentation simple en Javascript et ne sais plus où chercher d'où ma question ici: j'envoi des données JSON venant de ma base dans une balise <script> en début de document de cette manière:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <script>
        var gigData = <?php echo  $data ?>;
        console.info(gigData);
    </script>
    Je souhaite manipuler les données reçues dans un script chargé en fin de document comme suis:
    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
     
    $(document).ready(function(){
     
        var location = $('#location');
        var option = {
            element: function(gigData){
                for(var i=0; i<gigData.location.length;i++){
                    '<option id="' + gigData[i].locationid +'">' + gigData[i].location + '</option>';
                }
            },
            title: gigData[0].title,
            description : gigData[0].description,
            date : gigData[0].date,
            hour : gigData[0].time
        };
        location.first().append(option.element);
     
    });
    Je sais que je pourrais faire une requête AJAX pour ce type de problématique mais j'aimerais comprendre pourquoi mon code ne fonctionne pas.
    La console que me dit que gigData est undefined. J'imagine que mon soucis vient de la portée des variables mais je suis coincé, si quelqu'un a une idée...
    Merci d'avance

  2. #2
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    16 959
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 16 959
    Points : 44 122
    Points
    44 122
    Par défaut
    Bonjour,
    dans ton code option.element est une fonction
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    element: function(gigData){
    //...
    donc la moindre des choses et d'en faire un appel correct option.element( param), dans ton cas param vaudra gigData.

    Seulement voilà ta fonction ne retourne rien, elle retournera donc undefined, ce n'est pas ce que tu souhaites il te faut donc modifier celle ci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    element: function(param){
        var html = '';
        for(var i=0; i<param.location.length;i++){
            html += '<option id="' + param[i].locationid +'">' + param[i].location + '</option>';
        }
        return html;
    },
    ton appel deviendra donc
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    location.first().append(option.element(gigData));

  3. #3
    Membre du Club
    Homme Profil pro
    Développeur frontend
    Inscrit en
    Octobre 2013
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur frontend

    Informations forums :
    Inscription : Octobre 2013
    Messages : 75
    Points : 56
    Points
    56
    Par défaut
    Merci beaucoup pour ta réponse qui corrige mon erreur, ça me permet d'y voir un peu plus clair
    Bonne soirée

  4. #4
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    16 959
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 16 959
    Points : 44 122
    Points
    44 122
    Par défaut
    Il n'empêche que je ne saisie pas pourquoi tu ne génères pas ton objet directement en PHP!

  5. #5
    Membre du Club
    Homme Profil pro
    Développeur frontend
    Inscrit en
    Octobre 2013
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur frontend

    Informations forums :
    Inscription : Octobre 2013
    Messages : 75
    Points : 56
    Points
    56
    Par défaut
    En fait c'est pour m'exercer en Javascript mais aussi car la méthode qui lance ma vue et lui passe les données, passe d'autres données que celles qui me servent à peupler les <option>. Je n'ai pas trop envie de passer par des requêtes SQL à rallonge pour le moment donc je fait provisoirement une partie en PHP et l'autre en JS...

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

Discussions similaires

  1. Récupération d'un code d'une page web
    Par Vampyre dans le forum Services Web
    Réponses: 3
    Dernier message: 12/02/2007, 20h03
  2. Réponses: 10
    Dernier message: 17/11/2006, 15h20
  3. Réponses: 3
    Dernier message: 27/04/2006, 14h23
  4. Réponses: 3
    Dernier message: 23/04/2006, 12h14
  5. Récupération d'un numero sur une page e ASP
    Par alida dans le forum ASP
    Réponses: 1
    Dernier message: 08/04/2006, 21h35

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