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

매출이 오르면 내리는 수수료! 지금 수수료센터에서 전자결제(PG)수수료 비교견적 신청해 보세요!
배열을 맞게 사용한 거 같은데 오류가 발생합니다

QA

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

답변 3

본문

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

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

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

 

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

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


{
    "code":"SUCCESS",
    "msg":"정상처리되었습니다",
    "data":[
        {"mb_no":1,"mb_name":"철수"},
        {"mb_no":4, "mb_name":"혜수"},
         {"mb_no":3,"mb_name":"민수"}
    ]
}

 

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

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

고수님들 도와주세요 ㅠㅠ

이 질문에 댓글 쓰기 :

답변 3


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 소스에 문제가 있는 거 아닐까요?

console.log(data)를 찍어봤을 땐 정상적으로 출력되고

그 바로 아래 줄에
console.log(data["data"][0]["mb_name"])를 하면 오류가 납니다 ㅠㅠ
도대체 뭐가 문제인 건지...

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

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

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

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 126,530
© SIRSOFT
현재 페이지 제일 처음으로