2010-09-13 3 views
0

je suis chargement dans jquery une carte google JSON et je reçois correctement l'objet JSON appelé « données »Je reçois une erreur indéfinie dans firebug, même si je peux voir la valeur existe! ... pourquoi?

parfois - je ne peux pas identifier exactement quand ou pourquoi et c'est la raison pour laquelle je suis venu ici - même si je reçois les valeurs normales, mais la console firebug le lit undefined!

par exemple, j'ai cette ligne ci-dessous dans mes js:

console.log(data.Placemark[i].AddressDetails.Country.AdministrativeArea.SubAdministrativeArea.Locality.PostalCode.PostalCodeNumber); 

dans ma Firebug console je peux voir d'abord la valeur droite du code postal (10018), je vois cette erreur:

data.Placemark [i] .AddressDetails.Country.AdministrativeArea.SubAdministrativeArea.Locality.PostalCode est indéfini

je veux dire, si je reçois la valeur .. comment pourrait-il que est indéfini ??

ici le code complet

$.ajax(
    { 
     dataType: 'json', 
     url: "http://maps.google.com/maps/geo?q=" + myaddress + "&key=" + myapiKey + "&sensor=false&output=json&callback=?", 
     success: function (data, textStatus) 
     { 
     for (i = 0; i < data.Placemark.length; i++) 
     { 

    console.log(data.Placemark[i].AddressDetails.Country.AdministrativeArea.SubAdministrativeArea.Locality.PostalCode.PostalCodeNumber); 
     } 

     }, 
     error: function (data) 
     { 
    /*nothing*/ 
     } 
    }); 

Je peux ajouter un autre détail: l'erreur ne se produit que lorsque data.Length est> 1 (essentiellement quand je reçois plus d'une adresse correspondant à mon entrée)

+0

'data' est une variable globale? Sinon, je ne m'attendrais pas à ce que vous le voyiez dans la console Firebug. Essayez de placer la ligne 'console.log' dans votre code JavaScript où' data' est disponible lexicalement. – strager

+0

J'ai mis à jour ma question avec un code complet, mais c'est étrange car la plupart du temps je reçois une réponse régulière ... d'autres fois pas .. je pensais même que cela pourrait être la valeur du problème ... – Francesco

+0

@frankB: Quelle ligne déclenche cette erreur? –

Répondre

1

Je pense que vous avez tout dit. Lorsque la boucle est exécutée plus d'une fois (c'est-à-dire lorsque la longueur est supérieure à 1), vous parcourez le second élément, qui n'a pas la propriété sur laquelle il se déclenche. La première itération fait.

+0

désolé, ok je peux poster la boucle .. je vais le faire dès maintenant – Francesco

Questions connexes