Доступ к свойствам объекта
Вложений: 1
Здравствуйте!
Мне нужно составить ul-список, взяв несколько полей из каждого файла JSON. Получить нужные данные удалось, но после этого столкнулся с другой проблемой. Вложение 4396 Как показывает консоль, объект не пустой. Консоль также отображает индексы. Но запрос свойства по индексу возвращает undefined. :help: Вот код: function search_in_JSON(desired_field, link) { let result = {}; if (desired_field) { $.getJSON(link, function (data) { $.each(data, function (key, datum) { $.each(datum, function (key_of_datum, value) { if (key_of_datum === desired_field) result[String(key)] = value; }); }); }); return result; } else { $.getJSON(link, function (data) { result = data }); return result; } } $(document).ready(function() { let items = []; let users_names = search_in_JSON('name', 'ссылочка1'); console.log(users_names); console.log(users_names[0]); console.log(users_names[1]); $.each(users_names, function (key_of_name, user_name) { console.log(key_of_name + ' and ' + user_name); let albums = search_in_JSON('', 'ссылочка2' + (key_of_name+1)); items.push('<ul class="user">'); $.each(albums, function (key_of_album, album) { items.push('<li><ul class="album">'); let photos = search_in_JSON('', 'ссылочка3' + album.id); $.each(photos, function (key_of_photo, photo) { items.push('<li><img src="' + photo.url + '" alt="' + photo.title + '"/></li>'); }); items.push('</ul></li>'); }); items.push('</ul>'); }); items = items.join(''); $('.albums').html(items); }); |
Corathir,
в строку 12 перенесите вывод данных и забудьте про return. |
Цитата:
|
Цитата:
вывод должен быть в $.getJSON $.getJSON(link, function (data) { здесь вывод данных!!!}); |
Часовой пояс GMT +3, время: 23:59. |