javascript - 保存了两个同名但值不同的 cookie

标签 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 的检索,这很好。我总是得到我想要的。但我担心可能有一个我没有完全理解的潜在问题会阻碍我前进。

最佳答案

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

关于javascript - 保存了两个同名但值不同的 cookie,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2111187/

相关文章:

javascript - 打开输入元素列表 onclick

javascript - 从 cookie 设置 EXTjs 按钮/项目文本

cookies - 使用 XMLHTTPRequest (TVMLJS) 发送 cookie

php - Laravel session ID 随每个请求而变化

javascript - 使用excanvas在 Canvas 上绘制图像

javascript - 谷歌地图信息窗口移动整个 map

javascript - 在 JavaScript 中合并

javascript - 原型(prototype)javascript混淆

php - 为什么 setcookie 在服务器上不起作用?

jquery - 为什么我的所有 jQuery cookie 都未定义?