테스트 사이트 - 개발 중인 베타 버전입니다

배열을 맞게 사용한 거 같은데 오류가 발생합니다 채택완료

그누보드이해하기 3년 전 조회 2,509

api에서 데이터를 넘겨받아 사용하려고 하는데

콘솔창에 다음과 같은 에러가 발생했습니다.

파일이름:428 Uncatched TypeError: 정의되지 않은 속성('0' 읽기)을 읽을 수 없습니다.

 

api에서 넘겨받은 데이터를 콘솔에 그대로 출력하면 다음과 같이 나옵니다.

콘솔 출력: console.log(data);

</strong></p>

<p>{</p>

<p>    "code":"SUCCESS",</p>

<p>    "msg":"정상처리되었습니다",</p>

<p>    "data":[</p>

<p>        {"mb_no":1,"mb_name":"철수"},</p>

<p>        {"mb_no":4, <span style="font-size: 0.875em;">"mb_name":"혜수"},</span></p>

<p><span style="font-size: 0.875em;">         {"mb_no":3,"mb_name":"민수"}</span></p>

<p><span style="font-size: 0.875em;">    ]</span></p>

<p><span style="font-size: 0.875em;">}</span></p>

<p><strong style="font-size: 0.875em;">

 

데이터를 사용하기 위해 data["data"][0]["mb_name"]를 사용하려고 했는데 오류가 났습니다.

어디서 잘못된 건지 모르겠어서 질문 드립니다.

고수님들 도와주세요 ㅠㅠ

댓글을 작성하려면 로그인이 필요합니다.

답변 3개

데이터 타입의 문제였습니다!!

ajax에서 데이터를 받을 때 string 값으로 넘어오고 있었어요...

받는 데이터 타입을 json 값으로 받도록 설정해서 해결했습니다.

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.


aa=JSON.parse(`{
    "code":"SUCCESS",
    "msg":"정상처리되었습니다",
    "data":[
        {"mb_no":1,"mb_name":"철수"},
        {"mb_no":4, "mb_name":"혜수"},
         {"mb_no":3,"mb_name":"민수"}
    ]
}`);

aa['data'][0]['mb_name'];
'철수'

 

정상입니다.

 

javascript 소스에 문제가 있는 거 아닐까요?

로그인 후 평가할 수 있습니다

답변에 대한 댓글 2개

그누보드이해하기
3년 전
console.log(data)를 찍어봤을 땐 정상적으로 출력되고

그 바로 아래 줄에
console.log(data["data"][0]["mb_name"])를 하면 오류가 납니다 ㅠㅠ
도대체 뭐가 문제인 건지...
엑스엠엘
3년 전
aa['data'][0]['mb_name'];

'철수'
console.log( aa['data'][0]['mb_name']);
VM868:1 철수
undefined

정상입니다.

댓글을 작성하려면 로그인이 필요합니다.

https://gent.tistory.com/294

여기봐서 배열울 루프로해서 확인해보세요

 

 

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인