Приветствую,
Ниже приведен код. Получаю в консоль objects и objects[0]. В первом случае показывает мне все элементы массива. Во втором undefinded.
Вот, адрес страницы:
halat-prezident.ru
Вот, код:
$(document).ready(function () {
var begincat = 1; // начальная категория, с которой получаем все данные
var objects = new Array;
var currentoblject = 0;
function create_objects() { //Создаем объекты на основе категорий товаров в категории с id=1
$.ajax(
{
url: '/api/categories?parent_id=1',
dataType:'json',
method:'get',
success: function(response){
for ( let i = 0; i < response.length; i++ ) {
objects[i] = new Array;
objects[i]['category_id'] = response[i].id;
objects[i]['category'] = response[i].category;
objects[i]['font-type'] = '';
objects[i]['text1-size'] = 14;
objects[i]['text2-size'] = 14;
objects[i]['topimage1'] = '';
objects[i]['topimage2'] = '';
objects[i]['bottomimage1'] = '';
objects[i]['bottomimage2'] = '';
objects[i]['topimage1'] = '';
objects[i]['color'] = '#fc0';
objects[i]['currentproduct'] = 0;
//получим список товаров и их свойства, входящие в категорию
$.ajax({
url: '/api/products?category_id=' + response[i].id,
dataType:'json',
method:'get',
done: function(products) {
objects[i]['products'] = products;
}
});
//
}
//console.log(response.length);
}
}
);
}
create_objects(); //инициализируем функцию, чтобы данные записались в objects
console.log(objects);
console.log(objects[0]);
function drawobject(object) { //Функция отображения объекта по его порядковому номеру в массиве
//$('#productphoto1').html('<img src="'+objects[object]['products'][0].photo_f+'" class="img-fluid"/>');
}
drawobject(currentoblject);
});
Зачем я это делаю. В конструкторе заказа, выбирая опции, я буду менять свойства объекта и отображать его на экране в блоке.
Я новичок. Иногда что-то пытаюсь ваять на JS. Не обессудьте за элементарные вопросы. Спасибо.