Получение многомерных значений cookie с помощью JavaScript - PullRequest
3 голосов
/ 10 февраля 2011

Я сохраняю cookie с:

context.Response.Cookies["visitorData"]["lastDateVisited"] = DateTime.Now.ToString();
context.Response.Cookies[_visitorData].Expires = DateTime.Now.AddMonths(3);

Я могу получить тот же cookie в C #, используя этот скрипт:

cookyval = context.Request.Cookies["visitorData"]["lastDateVisited"];

Как я могу получить значение cookie с помощью JavaScript?

Ответы [ 2 ]

0 голосов
/ 14 мая 2012

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

Они используют символ разделителя в пределах значения cookie, чтобы отделить пары имя-значение.

Google использует символ канала (|) в качестве разделителя, а .NET использует амперсанд (&) в качестве разделителя.

Если вы установите cookie, как в приведенном выше коде, результат будет следующим:

//.NET
context.Response.Cookies["visitorData"]["lastDateVisited"] = DateTime.Now.ToString();
context.Response.Cookies["visitorData"]["example2"] = "sillyString";
context.Response.Cookies[_visitorData].Expires = DateTime.Now.AddMonths(3);

// JavaScript Console
console.log(document.cookie)
visitorData=lastDateVisited=14/05/2012 16:09:09&example2=sillyString; other cookies here

Теперь вы можете найти visitorData= в document.cookie и substr() до следующего ;. Затем split() это в парах имя-значение.

0 голосов
/ 10 февраля 2011

Это может быть полезно JavaScript и файлы cookie

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...