Сохраняются два куки с одинаковым именем, но с разными значениями - PullRequest
2 голосов
/ 21 января 2010

У меня есть файл cookie, который я устанавливаю, когда пользователь нажимает кнопку в форме со следующим обработчиком «OnClick» ...

<input type="button" 

       OnClick="

       alert(document.cookie);
       var d;
       d = new Date();
       d.setDate(d.getDate() + 365);

       document.cookie = 'LanguageReference' + '=' + document.forms[0].UserSelectedLanguage.value + ';expires=' + d.toGMTString();
       document.forms[0].submit();" >               

Это прекрасно работает, но я заметил странное поведение, когда отображаю содержимое document.cookie и несколько раз меняю значение LanguageReference. Файл cookie «LanguageReference» будет отображаться несколько раз в файле document.cookie с различными значениями.

Вот что я получаю ...

LanguageReference=en;LanguageReference=fr;... bunch of other cookies ...

Это, по-видимому, не влияет на получение cookie, как это ни странно, и это здорово. Я всегда получаю то, что хочу. Но я боюсь, что может быть основная проблема, которую я не до конца понимаю, которая может укусить меня в будущем.

1 Ответ

2 голосов
/ 21 января 2010

В javascript файлы cookie рассматриваются как; и = разделенная строка. Вы должны очистить предыдущий, прежде чем добавлять новый файл cookie. Класс обработчика файлов cookie (или соответствующая часть инфраструктуры) значительно упрощает вашу жизнь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...