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 :

jQuery et JSON => undefined


Sujet :

JavaScript

  1. #1
    Membre à l'essai
    Homme Profil pro
    Responsable d’équipe
    Inscrit en
    Août 2003
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Responsable d’équipe

    Informations forums :
    Inscription : Août 2003
    Messages : 27
    Points : 23
    Points
    23
    Par défaut jQuery et JSON => undefined
    Salux à tous,

    Grand débutant en Javascript, depuis 2 semaines je galère sur la gestion d'une erreur "undefined".

    Pour faire simple, je suis partie de ce code pour le faire à ma sauce :

    Nom : json.jpg
Affichages : 950
Taille : 26,1 Ko

    J'ai un JSON qui la veille ne comporte pas le champ "rapport", d'où mon erreur "ncaught TypeError: Cannot read property 'rapport' of undefined". Et le lendemain le champ "rapport" devient présent et valide.

    Comment avec la fonction if je peut dire que lorsque le résultat est "undefined", qu'il remplace le résultat par "-" dans ma boucle "for" ?

    Avez-vous un peu de documentation dessus ou un peu d'aide / exemple.

    Merci d'avance,
    GaLaGaNN

  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
    Un bout de code dans le message serait plus approprié qu'une capture d'écran...
    Ensuite, je vois pas trop le rapport entre ta capture d'écran et tes explications.

    Comment avec la fonction if je peut dire que lorsque le résultat est "undefined", qu'il remplace le résultat par "-"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    if('rapport' in monJSON){
        // Tu as une propriété 'rapport' dans le JSON monJSON
    }
    else{
        // Tu n'en as pas
    }

  3. #3
    Membre à l'essai
    Homme Profil pro
    Responsable d’équipe
    Inscrit en
    Août 2003
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Responsable d’équipe

    Informations forums :
    Inscription : Août 2003
    Messages : 27
    Points : 23
    Points
    23
    Par défaut
    Salux,

    Comme dit le programme qui est en copie-écran, c'est le même programme qui j'exploite, la preuve avec la modification qui fonctionne

    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
    40
    41
    42
    43
    44
    // $() un alias de jQuery()
    $(document).ready(function () {
        console.log("jQuery est prêt ! Vous exécutez la version jQuery : " + $.fn.jquery);
        $.ajax
                ({
                    url: "js/participants2.json",
                    dataType: "json",
                    success: function (data)
                    {
                        console.log("Le script fonctionne", data);
                        parseJSON(data);
                    },
                    error: function (err)
                    {
                        console.log("Plantage du script", err);
                    }
                });
        var parseJSON = function (data)
        {
            $(data).each(function (i)
            {
                Tableau(this);
            });
        };
        var Tableau = function (element)
        {
            for (var i = 0; i < element.participants.length; i++)
            {
                var nom = $("<td>").html(element.participants[i].nom);
                var age = $("<td class=center>").html(element.participants[i].age);
                var sexe = $("<td class=center>").html(element.participants[i].sexe.substring(0, 1));
                if ('rapport' in parseJSON) {
                    var dernierRapportReference = $("<td class=center>").html(element.participants[i].dernierRapportReference.rapport);
                    var dernierRapportDirect = $("<td class=center>").html(element.participants[i].dernierRapportDirect.rapport);
                }           
                else {
                    var dernierRapportReference = "<td class=center>-";
                    var dernierRapportDirect = "<td class=center>-";
                }
     
                $('#divers').append("<tr>", nom, sexe, age, dernierRapportReference, dernierRapportDirect);
            }
        };
    });
    Encore merci, je n'ai pas pensé comme cela.

    GaLaGaNN

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

Discussions similaires

  1. Jquery + plugin + JSON
    Par GWIT_dev dans le forum jQuery
    Réponses: 0
    Dernier message: 04/04/2012, 16h44
  2. JQuery Calendrier JSON
    Par stade13 dans le forum jQuery
    Réponses: 3
    Dernier message: 08/11/2011, 10h58
  3. jquery .val() sur input undefined
    Par doncandid dans le forum jQuery
    Réponses: 3
    Dernier message: 11/08/2011, 10h09
  4. jquery autocomplete json
    Par Invité dans le forum jQuery
    Réponses: 0
    Dernier message: 08/07/2011, 12h12
  5. [AJAX] JSON propriete undefined
    Par LaLoutre dans le forum AJAX
    Réponses: 5
    Dernier message: 16/10/2009, 17h50

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