我正在使用流行的jquery cookie插件通过javascript设置会话cookie值,如下所示:
function ChangeLoginUser(sel) {
var selectedUser = sel.options[sel.selectedIndex].value;
$.cookie("LoginUser", selectedUser);
location.reload(true); //refresh
}
用户从站点全局下拉框选项中选择后调用此函数。
CookieName = value2 CookieName = value1
我不明白为什么会这样。我只需要保留一个这个名字的cookie。新值应该取代旧值。
答案 0 :(得分:1)
确定。看起来问题出在cookie路径上。每个URL都可以有一个具有相同名称的单独cookie。解决方案是将路径设置为域宽,如下所示:
$.cookie("LoginUser", selectedUser, { path: '/' });
或者,如果您需要将其缩小到仅适用于您的应用程序,您可以这样做:
$.cookie("LoginUser", selectedUser, { path: AppPath });
可以在共享布局的开头设置AppPath
<script type="text/javascript">
var AppPath = '@Url.Content("~/")'
</script>