2011-11-08 105 views
0

我有一个对象内的数组我试图访问数组的内容,但我似乎无法得到正确的语法。我正在使用chrome和它自带的调试器。下面的代码显示了对象和数组以及我尝试访问它的方法。我在做什么错?访问对象内的数组

的代码在我的应用程序:

var responseText = Ext.decode(response.responseText); 
alert(responseText.errors[0]); 

的使用铬控制台:

responseText.errors 
    Object 
    : Array[1] 
     0: "Error Message" 
     length: 1 
     __proto__: Array[0] 
    __proto__: Object 

responseText.errors[0] 
undefined 

responseText.errors.Array 
undefined 

responseText.errors.Array[0] 
TypeError: Cannot read property '0' of undefined 

在我看来应该是使用第三次尝试一个简单的事情。这让我感到莫名其妙,为何它的未定义!

+0

没有你的阵列已经在对象指定一个名称? – nscrob

回答

0

问题出在数组没有命名对象。

服务器代码中创建消息的数组,但没有与消息传递键或者确定什么他们的,或获得对它们的访问。我已经添加了一些数组对象的键和js代码现在工作。

@VoidMain,不,也不会工作。没有办法访问这些元素,正如你所说,在服务器上设置了一个名称。

(我想通了这一点和7.5小时前有这个答案,但无法发布它。很烦人)

0

它是一个0作为属性的名称,坏主意......无论如何,你可以这样访问:

responseText.errors['0'] 

但是,试图改变它在你的服务器,得到一些更友好的名称...