Как установить cookie сложного объекта (!) Из одного домена и использовать его на поддомене? - PullRequest
0 голосов
/ 05 мая 2019

Я установил объект в одном домене и попытался прочитать его с субдомена, но я получаю null при чтении имени файла cookie.

Функции:

function setCookie(name, value, days) {
    var expires = "";
    if (days) {
        var date = new Date();
        date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
        expires = "; expires=" + date.toUTCString();
    }

    var theCookie = name + "=" + (JSON.stringify(value) || "") + expires + ";domain=." + location.host.replace('www.', '');

    document.cookie = theCookie;
}
function getCookie(name) {
    var nameEQ = name + "=";
    var ca = document.cookie.split(';');
    for (var i = 0; i < ca.length; i++) {
        var c = ca[i];
        while (c.charAt(0) == ' ') c = c.substring(1, c.length);
        if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length, c.length);
    }
    return null;
}
function eraseCookie(name) {
    document.cookie = name + '=; Max-Age=-99999999;';
}

data.d - это объект, который выглядит следующим образом:

EmailAddress: "test@gmail.com"
FirstName: "Barak"
LastName: "Trump"
gender: "120"
id: "1099"

Основной код, который использует указанные выше функции:

setCookie("ComplexObject", data.d, 1);

Но когда я пытаюсь прочитать cookie:

var justTry = getCookie("ComplexObject");

Я получаю NULL, как с основного сайта www.localhost:40000

, так и с books.localhost:40000.

Где я ошибся?

...