Как предотвратить дублирование кода с помощью html-таблицы пилонов, обновляемой через ajax? - PullRequest
0 голосов
/ 10 февраля 2010

У меня есть веб-страница с пилонами и таблицей. Я создал функции Python в шаблоне, которые помогают с созданием таблицы HTML. Одна из этих функций берет «item» и генерирует строку html, а также добавляет чередование css zebra. Другое определение генерирует html строки заголовка.

Это прекрасно работает для загрузки исходной таблицы, используя переменную контекста 'items'. Однако, когда я пытаюсь обновить таблицу с помощью ajax, я извлекаю новое содержимое таблицы с сервера в формате JSON. Мои «элементы» тогда являются объектами Javascript в массиве Javascript. Я больше не могу использовать пилоны «getHeaderHtml ()» и «getRowHtml (item)». Таким образом, обработка моего зебры, а также форматирование HTML должны быть продублированы? Должен быть лучший способ, верно?

1 Ответ

1 голос
/ 10 февраля 2010

Одной из возможностей может быть создание на стороне сервера AJAX HTML (вместо генерации JSON) и вставка его прямо в дерево DOM (вместо анализа JSON и генерации HTML на клиенте). Затем вы можете использовать те же функции на стороне сервера для генерации строк AJAX перед их отправкой. Преимущество здесь в том, что вам не нужно беспокоиться о синтаксическом анализе чего-либо в браузере, поэтому JavaScript может стать намного проще и потенциально быстрее.

...