我在firebug中得到一个未定义的错误,即使我能看到该值存在!...为什么?

时间:2010-09-13 03:20:04

标签: javascript jquery variables firebug

我在jquery中加载谷歌地图json,我正确地收到了名为'data'的json对象

有时 - 我无法准确确定何时或为何,这就是我来到这里的原因 - 即使我收到常规值,但是firebug控制台读取它是未定义

例如,我在我的js中有以下这一行:

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

在我的Firebug控制台中我首先看到了zipcode的正确值(10018),然后我看到了这个错误:

data.Placemark [i] .AddressDetails.Country.AdministrativeArea.SubAdistrativeistrativeArea.Locality.PostalCode is undefined

我的意思是,如果我得到了价值......怎么可能是未定义的?

这里是完整的代码

   $.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为&gt;时才会发生错误。 1(基本上当我得到多个与我输入相对应的地址时)

1 个答案:

答案 0 :(得分:1)

我想你说的一切。当循环运行不止一次时(即长度> 1时),您将遍历第二个项目,该项目没有它所启动的属性。第一次迭代确实如此。