Получить из localStorage сериализованный массив
Есть HTML форма с динамическим количеством инпутов. Добавляется к форме HTML код строк цен (<tr>...</tr>) выбранных юзером. В любом количестве.
Я получаю все данные формы (включая добавленные пользователем строки таблицы) в переменную:
var formData1 = $('#ORDERFORM').serializeArray();
Далее, мне нужно записать полученный результат в localStorage:
var formData = JSON.stringify(formData1);
localStorage.setItem("key", formData);
И получить из него данные при обращении пользователя к личному кабинету:
var returnFormData =JSON.parse(localStorage.getItem("key"));
И вот тут я не понимаю.
В каком виде я получу данные из localStorage? Если это будет строка, то как мне получить данные из нее в массив?
Мне требуется выводить из localStorage данные, ранее введенные пользователем в форму, на странице личного кабинета пользователя.
Ответы (1 шт):
Вы выбрали абсолютно верный подход.
При помощи JSON.stringify(formData1) Вы переводите массив formData1 в строку json.
В случае подобного преобразования, Вы можете корректно записать данные в localstorage используя строку как значение, так как, при записи localstorage ожидает 2 параметра(ключ и значение) оба из которых должны быть строками.
Для того, чтобы провести преобразование из строки json Вы верно использовали JSON.parse.
Данный метод производит обратное преобразование объекта.
В Вашем случае Вы получите массив в параметре returnFormData.