亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何在 Javascript 中存儲 http cookie

如何在 Javascript 中存儲 http cookie

紫衣仙女 2023-07-29 15:06:05
我想將 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顯示未定義。為什么會這樣呢?
查看完整描述

3 回答

?
阿晨1998

TA貢獻2037條經驗 獲得超6個贊

我認為你最好{}在這里使用對象而不是數組。


let cookie = 'redirect=1; sessionid=110430';

let obj = {};


cookie.split(';').forEach(c => {

  let [k, v] = c.split('=').map(p => p.trim());

  Object.assign(obj, { [k]: v });

});



console.log(obj);


// outputs

// {

// "redirect": "1",

// "sessionid": "110430"

// }


console.log(obj.sessionid);


// outputs

// 110430


查看完整回答
反對 回復 2023-07-29
?
ITMISS

TA貢獻1871條經驗 獲得超8個贊

對于任何發現這個問題的人,這就是我解析和保存 http cookie 的方式:-


let cookie = {};

let cookies = document.cookie.split(';');

cookies.forEach(c => {

        let [k, v] = c.split('=').map(p => p.trim());

        Object.assign(cookie, {[k]: v});

});


查看完整回答
反對 回復 2023-07-29
?
慕俠2389804

TA貢獻1719條經驗 獲得超6個贊

您可以使用 JSON,然后對其進行解析/字符串化。另外,我在下面使用本地存儲。


我創建了兩個函數,這樣您就可以將它們重復用于您想要的任何存儲。


function getStorage(key){

  str = localStorage.getItem(key) || "{}"

  return JSON.parse(str)

}


function setStorage(key, values){

   localStorage.setItem(key,JSON.stringify(values))

}


str = getStorage("session")


str["test"] = 1


setStorage("session", str)


sessions = getStorage("session")


console.log(sessions["test"])


查看完整回答
反對 回復 2023-07-29
  • 3 回答
  • 0 關注
  • 181 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號