Javascript - установить несколько файлов cookie в объекте JSON - PullRequest
0 голосов
/ 10 июля 2020

сценарий находится на веб-сайте, пользователи могут выбирать магазины несколько раз, и я хочу получить все магазины, выбранные пользователем, и я хочу использовать для этого файлы cookie.

Я хочу сохранить файлы cookie как JSON например, {"storeId", "0010"}, {"storeId", "0011"}, et c.

, поэтому следующий код: не добавляет куки, это просто переопределяет значение

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"}

1 Ответ

0 голосов
/ 10 июля 2020

Я решил это, выполнив проверку ie уже существует:

код:

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;
}
...