인프런 커뮤니티 질문&답변

kyle.lee님의 프로필 이미지
kyle.lee

작성한 질문수

비전공자를 위한 진짜 입문 올인원 개발 부트캠프

[그랩마켓] axios로 네트워크 통신하기

에러 관련문의드립니다.

작성

·

130

1

강의듣고 이해하고 따라하려고 노력하는데

매번 에러가 뜨네요 ㅠㅠ

에러구문과 코딩같이 올립니다.

(가능하시면 직접짜신 코드문도 올려주시면 많은 도움이 될거같습니다.)

항상 빠른답변 감사드립니다.

그리고 그랩님 새해복많이 받으세요.

practice.html:62 error발생 :  TypeError: Cannot read property 'length' of undefined

    at practice.html:32

<script>
axios
.get(
"https://7d65864e-fe76-44b5-90fb-9f56374fcc02.mock.pstmn.io/products"
)
.then(function (result) {
console.log("통신결과 : ", result);
const products = result.data.products;
let productsHtml = "";
for (var i = 0; i < products.length; i++) {
let product = products[i];
productsHtml =
productsHtml +
'<div class="product-card">' +
"<div>" +
'<img class="product-img" src="' +
product.imageUrl +
'" />' +
"</div>" +
'<div class="product-contents">' +
'<span class="product-name">' +
product.name +
"</span>" +
'<span class="product-price">' +
product.price +
"" +
"</span>" +
'<div class="product-seller">' +
'<img class="product-avatar" src="images/icons/avatar.png" />' +
"<span>" +
product.seller +
"</span>" +
"</div>" +
"</div>" +
"</div>";
}
document.querySelector("#product-list").innerHTML = productsHtml;
})
.catch(function (error) {
console.error("error발생 : ", error);
});

답변 2

1

저도 비슷해서 찾아보니까 포스트맨에 작성한 JSON에서 큰따옴표랑 콤마 이게 하나라도 없거나 더 들어가면 문제가 생기네요. 콤마와 큰따옴표 중요하네요.

0

그랩님의 프로필 이미지
그랩
지식공유자

새해복 많이 받으세요!

현재 코드의 문제라기 보단  네트워크 통신 결과(result.data)가 제대로 안들어가 있는 것으로 보여요.

console.log("통신결과 : ",result) 이 코드를 보면 개발자 도구에서 result 객체에 대해 확인이 가능합니다.

result에 data -> products 가 모두 잘 들어가있는지 먼저 확인 부탁드립니다.

만일 헷갈리시면 브라우저에 해당 서버 URL로 접속해서 결과값에 products key가 잘 보이는지 확인해주시면 됩니다.

kyle.lee님의 프로필 이미지
kyle.lee

작성한 질문수

질문하기