правильный способ построения HTML на основе ввода AJAX - PullRequest
4 голосов
/ 26 декабря 2011

Итак, я разрабатываю это веб-приложение в Django. Точная веб-инфраструктура не имеет значения, но суть в том, что у нас есть хорошее разделение между кодом, данными и реальным HTML. Однако чем дальше мы продвигаемся, тем больше мы находим на одной веб-странице и заставляем интерфейс реагировать на действия пользователя через запросы AJAX. Теперь я нахожу себя пишущим все эти функции-обработчики, которые ожидают определенного ввода от запроса AJAX и создают большие части страницы, в основном объединяя строки и данные. Неожиданно снова 1999 год, и я вручную создаю строки HTML. Этого не может быть?

Итак, мой вопрос: что такое приличный шаблон / фреймворк / ... для систематического создания HTML на стороне браузера? Я знаю, что есть некоторые шаблоныные плагины для jQuery, прежде чем я сделаю это, но мне интересно, нет ли более фундаментального подхода к этой проблеме, который не может быть таким редким?

Ответы [ 3 ]

1 голос
/ 26 декабря 2011

Вместо того, чтобы создавать html-строки, вы рассматривали возможность хранения массива объектов javascript dom внутри классов javascript, которые содержат в себе данные вашей реляционной базы данных, а затем просто циклически повторяли их / создавали их с помощью AJAX на основе взаимодействия с пользователем? Таким образом, я поддерживаю фотогалерею из почти 500 фотографий (разбитых на наборы) на одной странице с динамической предварительной загрузкой (что позволяет пользователю мгновенно получить полноразмерное изображение при его выборе).

1 голос
/ 26 декабря 2011

Также столкнулся с этим чувством 1999 года и согласился на jQuery tmpl .Это позволит вам разделить модель и представления и уделить больше времени бизнес-логике.Вы можете определить шаблон с помощью тега script типа text / x-jquery-tmpl в любом месте тела документа и использовать его, обратившись к нему по его идентификатору.

1 голос
/ 26 декабря 2011

То, что я сделал раньше, - это позволил моему серверу выполнять обработку и генерацию кода.Сохраняет нагрузку на клиенте.

Вы можете загрузить частичные (представления) и вернуть их в кодировке json или другим способом.Если вы используете json, сделайте HTML «контентом» в вашем объекте ответа или чем-то подобным.

Таким образом, дублирования кода не будет, поскольку вы можете использовать те же представления.Хитрость заключается в том, как их разделить.

...