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

Javascript 我在firebug中得到一个未定义的错误,即使我可以看到该值存在!。。。为什么?,javascript,jquery,variables,firebug,Javascript,Jquery,Variables,Firebug,我正在jquery中加载一个GoogleMapJSON,并正确地接收到名为“data”的json对象 有时-我无法确定确切的时间或原因,这就是我来这里的原因- 即使我收到常规值,但firebug控制台读取到它是未定义的 例如,我的js中有以下行: console.log(data.Placemark[i].AddressDetails.Country.AdministrativeArea.SubAdministrativeArea.Locality.PostalCode.PostalCodeNu

我正在jquery中加载一个GoogleMapJSON,并正确地接收到名为“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.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*/
        }
    });
$.ajax(
{
数据类型:“json”,
url:“http://maps.google.com/maps/geo?q=“+myaddress+”&key=“+myapiKey+”&sensor=false&output=json&callback=?”,
成功:功能(数据、文本状态)
{
对于(i=0;i

我可以添加另一个细节:只有当data.length>1时才会发生错误(基本上是当我得到多个与我的输入相对应的地址时)

我想你都说了。当循环运行不止一次(即长度大于1时),您将迭代第二个项目,而该项目没有它所依赖的属性。第一次迭代是。

数据是全局变量吗?如果不是,我就不希望您在Firebug控制台中看到它。尝试将
控制台.log
行放在JavaScript代码中,
数据在词汇上可用。我用完整的代码更新了我的问题,但这很奇怪,因为大多数时候我都得到了一个常规的响应…其他时候没有…我甚至认为这可能是值的问题…@frankB:哪一行触发了错误?console.log触发了错误,而console.log甚至是值数据的其他用法…等等…都是站不住脚的,因为我实际上是使用了邮政编码的值,然后是错误!我可以添加另一个细节:只有当data.length>1时才会发生错误(基本上是当我得到多个与输入相对应的地址时)