保存两个同名的cookie,但值不同

时间:2010-01-21 17:07:21

标签: javascript cookies

当用户使用以下“OnClick”处理程序点击表单上的按钮时,我设置了一个Cookie ...

<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”的值时,我注意到了一些奇怪的行为。 “LanguageReference”cookie将在document.cookie下以不同的值显示多次。

这就是我得到的......

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

这似乎并没有影响奇怪的cookie的检索,这很好。我总是回想我想要的东西。但是我担心可能存在一个潜在的问题,我并没有完全理解哪些问题会让我不顾一切。

1 个答案:

答案 0 :(得分:2)

在javascript中,Cookie被视为;和=分隔的字符串。在添加新cookie之前,您应该清除上一个。 Cookie处理程序类(或框架的相关部分)使您的生活更轻松。