Фронтенд. Как за один ajax запрос обновить несколько блоков?

Рейтинг: 0Ответов: 1Опубликовано: 13.01.2015

Друзья, нуждаюсь в совете.

Как за один ajax запрос обновить несколько блоков? Скажем, есть страница, на которой куча разнообразной информации из разных таблиц. И вот возникает необходимость всё разом обновить, без перезагрузки страницы. Говоря проще, в админке идёт работа с модулем, надо обновлять данные, а иногда и вовсе менять модуль.

Конечно, можно на каждый блок повесить свой ajax, но, по-моему, это нехорошая идея.

По всей видимости, нужно делать один запрос, данные получать в json и потом распихивать по элементам. Собссно, вопрос. Если это так, то как может выглядеть подобная реализация? Какая должна быть структура json (понятно, что она должна в кой-то мере отражать содержание страницы), как происходит распихивание по элементам? Делать всё ручками-джикверями, или предпочтительнее заюзать ангуляр какой-нибудь или бэкбон... товарищи, поделитесь опытом!

Спасибо.

Ответы

▲ 1Принят

@hcuser, в ответе передаете массив данных.

$response = array(
   'first_block' => array(
        'title' => 'Заголовок блока 1',
        'text' => 'Текст блока 1',
   ),
   'second_block' => array(
        'title' => 'Заголовок блока 2',
        'text' => 'Текст блока 2',
   ),
);

В качестве ключей, можно использовать селекторы нужных блоков: классы, id и т.д. То есть, вместо "first_block" и "second_block".

Вот простенький примерчик в песочнице.