簡體   English   中英

Javascript - 在 JSON object 中設置多個 cookies

[英]Javascript - set multiple cookies in a JSON object

場景在網站上,用戶可以多次使用 select 商店,我想抓取用戶選擇的所有商店,我想為此使用 cookies。

我想將 cookies 保存為 JSON 例如 {“storeId”、“0010”}、{“storeId”、“0011”} 等。

所以下面的代碼:它沒有附加 cookies 它只是覆蓋了值

function setCookieJson(name, value) {
    var cookie = [name, '=', JSON.stringify(value), '; domain=.', 
    window.location.host.toString(), '; path=/;'].join('');
    document.cookie = cookie;
} 

setCookieJson('storeId', storeId);

我從上面的代碼得到的結果是:

storeId="0010"

如果改變商店然后

storeId="0011"

但是,預期的結果應該是{"storeId", "0010"},{ "storeId", "0011"}

我通過實現 cookie 已經存在檢查解決了這個問題:

代碼:

function setCookieJson(name, value) {
    var cookieExisted = getCookie(name).replace(/"/g,"");
    var cookie;
    if (cookieExisted.length) {
        if (!cookieExisted.includes(value)) {
            cookie = [name, '=', JSON.stringify(value + ',' + cookieExisted), '; domain=.', window.location.host.toString(), '; path=/;'].join('');
        }
    } else {
        cookie = [name, '=', JSON.stringify(value), '; domain=.', window.location.host.toString(), '; path=/;'].join('');
    }
    document.cookie = cookie;
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM