网站页面上有一些下拉(用户只有在经过身份验证后才能访问此页面)我希望将此值保存到Cookie并在用户返回时将其设置为下拉列表我的网站。
将当前选定的下拉选项值保存到cookie并稍后检索它不是问题。但是如果我在另一个用户的同一个浏览器上登录,我就遇到了一些问题。它从cookie值获得前一个用户保存的内容。
那么将不同用户的Cookie与同一浏览器分开的好方法是什么?我正在考虑使用'username-dropdown'之类的名称创建cookie,但我怀疑它是最好的解决方案。
我在Tomcat 8中使用Java。
答案 0 :(得分:1)
我在这里猜测,您不需要将这些信息发送到您的服务器,并提供每个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"];
几乎不使用括号表示法的唯一原因是,如果您需要在旧版浏览器上填充本地存储(有可以回退到Cookie的填充程序),但本地存储是supported on all modern browsers,还有IE8 ,所以这些浏览器此时非常过时了。