Добро:
Мы отправляем JSON-массив вложенных объектов, используя JQuery и .ajax (). Мы используем шаблоны JQuery и Microsoft для визуализации контента. Он отправляет 100 объектов за 400 мс. Это намного быстрее, чем наш эквивалентный сервер рендеринга 50 продуктов за 10 секунд.
Сложность:
Нам необходимо привязать массив объектов JavaScript к HTML-элементам DOM, которые он представляет, то есть изменения во входных данных html отразятся обратно на объект JavaScript. Наша сложность заключается в том, что наши объекты являются вложенными и содержат только выбранные параметры:
Product[].Department[].deptid;
// We only store the departments for which this product participates
Мы попытались связать данные Microsoft, используя JQuery, для которого необходимы свойства объекта и элементы html, чтобы связать их вместе. Это не очень хорошо для вышеуказанной ситуации. Мы могли бы сделать это:
Product[].Department[].Dept.id;
Product[].Department[].Dept.name;
Product[].Department[].Dept.selected; // true if selected, false if not
// This requires all possible options in all needed products. Yuck
Есть ли примеры того, как лучше всего связать массив вложенных объектов JavaScript с HTML-элементами, которые они представляют?
Мы не отправляем элементы формы обратно на сервер. Вместо этого мы собираем их в массив JSON и отправляем обратно на сервер. Работает очень быстро, но сборка утомительна.