饼干添加另一个条目而不是替换现有值(Cookie adding another entry inst

2019-10-17 01:08发布

我使用的是流行的jQuery插件的cookie通过JavaScript像这样设置会话cookie的值:

function ChangeLoginUser(sel) {
    var selectedUser = sel.options[sel.selectedIndex].value;
    $.cookie("LoginUser", selectedUser);
    location.reload(true); //refresh
}

用户从网站全球下拉框中选择选项后,会调用此函数。

  • 更改第一页上的值 - 设置cookie CookieName =值。
  • 进入第2页 - 该Cookie坚持正确
  • 更改下拉值值2 - 菲德勒现在显示两个饼干用这样的两个值相同的名称:
 CookieName = value2 CookieName = value1 

我不明白为什么会这样。 我只需要保留一个这个名字的cookie。 新值应该取代旧的。

Answer 1:

好。 它看起来像问题是与Cookie路径。 每个网址都可以具有相同名称的单独的cookie。 该解决方案是广泛设置的路径是域这样的:

$.cookie("LoginUser", selectedUser, { path: '/' });

或者,如果你需要将它缩小到只有您的应用程序,你可以做这样的:

$.cookie("LoginUser", selectedUser, { path: AppPath });

其中APPPATH可以在共享的布局开始时设定

<script type="text/javascript">
    var AppPath = '@Url.Content("~/")'
</script>


文章来源: Cookie adding another entry instead of replacing existing value