网站页面上有一些下拉菜单(用户只有在经过身份验证后才能访问该页面)a我想将此值保存到cookie中,并在用户返回我的网站时将其重新设置为下拉菜单。
将当前选择的下拉选项值保存到cookie并在以后检索它不是问题。但是,如果另一个用户在同一浏览器上登录,则会遇到一些问题。它从cookie值中获取以前用户保存的内容。
那么,从同一浏览器中为不同用户分离Cookie的好方法是什么?我当时正在考虑使用“ username- dropdown”之类的名称来创建Cookie,但我对此表示怀疑,这是最好的解决方案。
我在Tomcat 8中使用Java。
我将在这里进行猜测,您 不需要 将每个HTTP请求都发送给服务器的信息。您只需要在客户端存储信息(就可以根据需要通过ajax将其发送到服务器)。
如果是这样,我会使用本地存储,而不是Cookie。并且可以肯定的是,使用用户名或用户ID或类似的方法是合理的:
// Setting: localStorage.setItem(username + "-dropdown", value); // Getting: var value = localstorage.getItem(username + "-dropdown");
或者,您可以使用方括号表示法:
// Setting: localStorage[username + "-dropdown"] = value; // Getting: var value = localstorage[username + "-dropdown"];
几乎不使用括号表示法的唯一原因是,如果您需要在较旧的浏览器上填充本地存储(有些polyfill会退回到您的cookie中),但是所有现代浏览器以及IE8 都支持本地存储,因此浏览器真的是 非常 过时的,在这一点上。