我想将 cookie 的子集存储在相当于关联数组的 Javascript(非 JQuery)中(我知道 Javascript 没有)。在我熟悉的大多数语言中,这很简单,大致如下:-
cookiepart = cookieset.split('=');
cookie{cookiepart[0]} = cookiepart[1];
这是一个简单的情况:-
print(cookie{'session'});
我能够实现任何目标的唯一方法是对密钥进行硬编码,即:-
print(cookie.session);
这将需要使用 switch 语句,如下所示:-
switch(cookiepart[0]) {
case 'session':
cookie.session = cookiepart[1];
break;
case 'cookie2':
cookie.cookie2 = cookiepart[1];
break;
等等,等等
填充让我觉得特别不优雅的数组。
有没有更好的办法?
感谢@DigitalDrifter,这几乎可以工作了——但还不够。
实际的 cookie 是:-
redirect=1; sessionid=110430
我的代码是:-
let cookie = {};
let cookies = document.cookie.split(';');
cookies.forEach(c => {
let [k, v] = c.split('=');
Object.assign(cookie, {[k]: v});
});
alert("redirect : "+cookie.redirect);
alert("sessionid : "+cookie.sessionid);
cookie.redirect工作正常并显示 1
但
cookie.sessionid显示未定义。为什么会这样呢?
阿晨1998
ITMISS
慕侠2389804
相关分类