我将在这里进行猜测,您 不需要 将每个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 都支持本地存储,因此浏览器真的是 过时的,在这一点上。