2015-06-23 2 views
1

Я пытаюсь создать печенье для моей веб-страниц следующим образом:задающие несколько ключевых пар значений в 1 печенье строки

document.cookie = "Name="+escape(name)+"; Value="+escape(value)+expires+";"; 

имя, значение передаются в функцию и истекают срок вычисляются по параметру дней - который также передается этой функции.

В результате создается файл cookie, но проблема заключается в том, что в cookie устанавливается только один из параметров. Когда я пытаюсь получить значение document.cookie

console.log(document.cookie) 

Я только получаю 1-ый из ключевых пар значений Name = побег (имя);

Почему я не получаю Value = "+ побег (значение) - Могу ли я не установить несколько ключевых пар значений в одном операторе:

document.cookie = "Key1 =" + значение1 +" key2 = "+ значение2 и так далее

ответ

1

Вы можете только писать/обновить одно печенье (одной пары имя-значение) в одном операторе

https://developer.mozilla.org/en-US/docs/Web/API/Document/cookie#Syntax от:..

document.cookie = newCookie;

В коде выше newCookie представляет собой строку формы key = value. Обратите внимание, что вы можете установить или обновить только один файл cookie за один раз, используя этот метод.

Чтобы добавить несколько пар, попробуйте следующее:

var pairs = [ 
    {"name" : "foo", "value" : "foobar", "expires" : "Tue, 23 Jun 2015 19:00:00 GMT"}, 
    {"name" : "baz", "value" : 1198, "expires" : "Wed, 24 Jun 2015 12:00:00 GMT"} 
]; 
pairs.forEach(function(pair) { 
    document.cookie = encodeURIComponent(pair.name) + "=" + encodeURIComponent(pair.value) + "; expires=" + pair.expires; 
}); 
Смежные вопросы