[英]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.