Я пытаюсь проанализировать строку JSON, которая хранится в значении cookie, которое вызывает мой код Rails.
Rails может читать строку до запятой (','), которая разделяетдве разные пары ключ: значение в строке.
JavaScript:
var value1 = "v1";
var value2 = "v2";
var obj = { key1: value1, key2: value2 };
document.cookie = "cookiename="+JSON.stringify(obj);
Cookie:
Name: cookiename
Content: {"key1":v1,"key2":v2}
Rails:
@cookievalue = cookies[:cookiename]
Railsпри вызове @cookievalue в erb <% = @cookievalue%> оценивает его следующим образом:
{"key1":v1
что-либо после запятой (','), которое разделяет ключ1: v1, ключ2: v2 отсутствует.
Есть идеи?
Я попробовал это как простой текст, и он делает то же самое с первой запятой, с которой встречается.
ОБНОВЛЕНО Ответил на мой собственный вопрос ниже- необходимо экранировать запятую, разделяющую значения, используя encode () в JS.