Скажем, у меня есть веб-форма, которая состоит из поля ввода текста, кнопки «Добавить» и кнопки «Отправить». Пользователь может добавить текст в div, набрав некоторые входные данные и нажав Add, что динамически (с использованием javascript) добавит div к тому, что он напечатал. Также во время добавления я сохраняю текст в объекте javascript. После добавления одного или нескольких элементов пользователь нажимает кнопку Отправить, чтобы отправить данные в объекте javascript на сервер для сохранения. Данные сериализуются в строку JSON и отправляются на сервер.
Проблема, с которой я сталкиваюсь, это когда, скажем, «Обновить» при добавлении записей. Я хочу, чтобы текущие добавленные записи оставались не только отображенными на странице, но и в объекте javascript.
Что у меня есть, так это то, что после каждого добавления я использую AJAX для отправки текущего списка на сервер и сохранения его в качестве данных сеанса. Каков наилучший способ вернуть данные из моего сеанса обратно в клиентский объект javascript?
Лучшее, что я могу придумать, - это вставить строку JSON обратно на страницу, а затем использовать клиентский javascript для повторного заполнения объекта javascript. Это будет работать, но если объем данных становится очень большим, я ожидаю, что обработка JavaScript на стороне клиента будет медленной.
(Обратите внимание, что в моей реальной ситуации мой объект javascript намного сложнее, чем этот. В нем есть функции, в которых я реализовал наследование, и есть прототипы методов "get" и "set" и тому подобное для динамического построения довольно сложного объекта. набор объектов. Другими словами, я не могу просто перезаписать свой объект с помощью eval (JSON).)
РЕДАКТИРОВАТЬ: Обратите внимание, что это не просто Обновить, где это вступает в игру. Ранее отправленные наборы данных могут быть отредактированы, и в этот момент мне нужно будет повторно заполнить объект javascript на стороне клиента, данные которого на стороне сервера.