2011-11-08 1 views
0

오브젝트 내부에 배열을 가지고 있는데, 배열의 내용에 액세스하려고 시도하고 있지만 올바른 구문을 얻지 못하는 것 같습니다. 크롬과 함께 제공되는 디버거를 사용하고 있습니다. 아래의 코드는 객체와 배열 및 액세스하려는 시도를 보여줍니다. 내가하고있는 일이 뭐가 잘못 됐니? 내 응용 프로그램에서오브젝트 내부의 배열에 액세스하기

코드 :

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'] 

을하지만, 좀 더 친숙한 이름을 얻을 ...