У меня есть несколько страниц с интенсивным использованием JavaScript (например, сортировка и фильтрация набора данных).
Обычно используется для отображения списка сложных элементов (обычно отображается как <li>
с небольшим количеством HTML внутри): пользователь может удалять, редактировать или добавлять элементы с определенными формами. Поскольку элементы являются сложными, я сохраняю массив объектов javascript для выполнения каких-либо операций, таких как проверка ввода пользователя перед выполнением каких-либо действий.
Действие пользователя и детали отправляются на сервер через асинхронные вызовы: после получения результата мне нужно обновить как HTML, так и массив javascript.
Я использую этот хак: сервер возвращает структуру данных в кодировке json и обновленный HTML в виде одной строки. По прибытии данных некоторый код javascript разбивает ответ и анализирует первый фрагмент как json (обновление массива) и помещает второй фрагмент во внутренний html контейнера, заменяя предыдущее содержимое.
Я не хочу генерировать HTML из структуры данных, поскольку это не приложение для одного человека, и веб-дизайнеры довольно часто (и независимо) изменяют макет HTML.
Также я не хочу воссоздавать структуру данных из HTML (слишком сложную и подверженную ошибкам).
Эта система работает довольно хорошо, имеет некоторые проблемы только с большим контентом, кросс-браузер
(построен на jQuery) и, похоже, не имеет проблем с производительностью.
Вопрос в том, упускаю ли я что-то тонкое (или, может быть, очевидное), которое делает это решение плохим?
Существует ли более простое и лучшее решение?
Кстати, на сервере работает PHP.
Спасибо.