Почему цикл for не выполняется в моем запросе getJSON? - PullRequest
0 голосов
/ 01 ноября 2019

Я не уверен, возможно ли это из-за асинхронного выполнения. Мои знания JavaScript довольно ограничены, поэтому я не могу определить, почему не работает, но на другой веб-странице работает точно такая же структура. Я также гарантировал, что в запросе get найдены данные.

$.getJSON(products_url, function(data) {
//    console.log(data) //  has length 2
    for (var i=0; i <= data.length; i++) {
        console.log(data[i]);
    }
});

console.log (data) возвращает:

{data: Array(2)}
data: Array(2)
0: {desc: "Apples are delicious", images: "https://i5.walmartimages.com/asr/2b4a8c7c-941f-457…809c.jpeg?odnHeight=450&odnWidth=450&odnBg=FFFFFF"}
1: {desc: "Oranges are delicious", images: ""}
length: 2
__proto__: Array(0)
__proto__: Object

Обновление: решение

ДляКто-нибудь еще, кто мог бы натолкнуться на этот вопрос, ответ Влаза высветил мою ошибку. Данные - это объект, возвращаемый запросом. Для доступа к самим данным требуется data.data. Итак, правильный код выглядит так:

$.getJSON(products_url, function(data) {
//    console.log(data);
    for (var i=0; i <= data.data.length; i++) {
        console.log(data.data[i]);
    }
})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...