Я получаю неопределенную ошибку в firebug, даже если вижу, что значение существует! ... почему? - PullRequest
0 голосов
/ 13 сентября 2010

Я загружаю в jquery карту Google JSON, и я правильно получаю объект JSON под названием «данные»

иногда - я не могу точно определить, когда или почему, и именно поэтому я пришел сюда - даже если я получаю обычные значения, НО консоль firebug читает, что это undefined !

например, у меня есть эта строка ниже в моем js:

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

в моей консоли Firebug я могу сначала увидеть правильное значение почтового индекса (10018), ТОГДА я вижу эту ошибку:

data.Placemark [i] .AddressDetails.Country.AdministrativeArea.SubAdministrativeArea.Locality.PostalCode не определен

Я имею в виду, если я получу значение .. как это может быть неопределенным ??

здесь полный код

   $.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*/
        }
    });

Я могу добавить еще одну деталь: ошибка возникает, только когда data.length> 1 (в основном, когда я получаю более одного адреса, соответствующего моему входу)

1 Ответ

1 голос
/ 13 сентября 2010

Я думаю, что вы все сказали.Когда цикл выполняется более одного раза (то есть, когда длина> 1), вы перебираете второй элемент, у которого нет свойства, с которым он срабатывает.Первая итерация делает.

...