Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 17.08.2014, 10:47
Аспирант
Отправить личное сообщение для Alex_dark74 Посмотреть профиль Найти все сообщения от Alex_dark74
 
Регистрация: 10.04.2012
Сообщений: 72

Помогите разобраться с JSON
Сталкиваюсь первый раз, от сюда возникают проблемы.
Идея такова. На странице есть много chekbox относящихся к выборке информации.Хочу записать информацию о активных и не активных chekbox в куки в виде массива.
Делаю так:
function write_cookies (){
  var cooc = $('.all_work'); //Вибираем все chekbox
  
  var parametr_work = {}; // Пустой массив для добавления информации о chekbox, его будем записывать в Куки
  
  for(var i=0; i<cooc.length; i++) { // перебор результатов
    //alert( cooc[i].id );
    if($(cooc[i]).is(":checked"))
    {
      //alert(cooc[i].id + " выбрано");
      parametr_work[cooc[i].id] = "true"; //Записывает в массив включенные chekbox
    }
   else
   {
    //alert(cooc[i].id + " НЕ выбрано");
    parametr_work[cooc[i].id] = "false"; //Записывает в массив ОТключенные chekbox
    }
  }
  result = JSON.stringify(parametr_work); //Переводим массив в строку
  alert(result);
  $.cookie ('work',result); //Добавляем строку в Куки
  //console.log(parametr_work); //Вывод в консоль
}


в куки записывается строка:
{"Ламинация":"true","Вырубка":"tru e","Подбор автомат":"false","Фальцовка автомат":"false","Биговка":"false"," Скругление":"false","Фальцовка ручная":"false","Подбор ручной":"false","Перфорация":"fals e","Склейка":"false","Сверление":" false","Термоклей":"false","Скрепк автомат":"false","Пружина металл":"false","Скрепка ручная":"false","Склейка блоков":"false","Ш/ф ламинация":"false","Ш/ф обработка баннера":"false","Ш/ф установка люверсов":"false"}

1 вопрос. Правильно ли я перевел выборку в массив и верно ли я использовал JSON для перевода в строку.

Далее я выбираю из куков строку и перевожу ее обратно в массив.
function read_cookies(){
  var result = $.cookie('work'); //Читаем куки
  result2 = eval(result);
  console.log(result2); //Вывод в консоль
}

Вот тут возникает проблема.
В консоли выдает:

SyntaxError: missing ; before statement


{"Ламинация":"true","Вырубка":"fal se","Подбор автомат":"false","Фальцовк
-------------

В конце пунктира есть стрелочка указывающая на ":" между "Ламинация" и "true". А в чем причина не понимаю
Ответить с цитированием
  #2 (permalink)  
Старый 17.08.2014, 12:44
Аватар для ixth
Профессор
Отправить личное сообщение для ixth Посмотреть профиль Найти все сообщения от ixth
 
Регистрация: 19.01.2010
Сообщений: 354

Используй не eval, а JSON.parse.
Ответить с цитированием
  #3 (permalink)  
Старый 17.08.2014, 13:03
Аспирант
Отправить личное сообщение для Alex_dark74 Посмотреть профиль Найти все сообщения от Alex_dark74
 
Регистрация: 10.04.2012
Сообщений: 72

При использовании JSON.parse
вроде бы отрабатывает, но выдает ошибку на библиотеку jquery, на первый return. Это критично?

jQuery.readyList.push(function(){return fn.call(this,jQuery);});return this;}});...
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Получение ответа сервера через iframe и xhr. Помогите разобраться. Arconas AJAX и COMET 0 26.02.2013 10:38
Помогите разобраться с .next() skreets jQuery 6 09.07.2012 13:31
Помогите пожалуйста разобраться Kupu4 Ваши сайты и скрипты 0 21.01.2010 10:44
Помогите разобраться с галереей IMAGIN yana_studio Общие вопросы Javascript 4 12.12.2009 17:24
Ошибка в jquery.forms ? Помогите разобраться. Ксандер jQuery 10 26.08.2009 18:39