Я установил свой файл cookie в PHP, используя следующее:
setcookie("id", 100, time()+100000, "/AP", "www.mydomain.com", 0, true);
Когда я смотрю на файлы cookie, хранящиеся в браузере, они выглядят так:
Name: id
Content: 100
Domain: .www.mydomain.com
Path: /AP
Обратите внимание на . в домене
Когда я устанавливаю файл cookie в javascript, я получаю те же результаты, за исключением:
Name: id
Content: 100
Domain: www.mydomain.com
Path: /AP
Домен другой. Почему мой файл cookie PHP ставит «.» перед www.mydomain.com и javascript нет.
Ниже приведен код javascript, который я использую для создания файла cookie:
function SetCookie(cookieName,cookieValue,nDays) {
var today = new Date();
var expire = new Date();
if (nDays==null || nDays==0) nDays=1;
expire.setTime(today.getTime() + 3600000*24*nDays);
document.cookie = cookieName+"="+escape(cookieValue)
+ ";expires="+expire.toGMTString();
}
Есть идеи?
Обновление:
Когда я пытаюсь прочитать это, используя следующую функцию в javascript:
function ReadCookie(cookieName) {
var theCookie=""+document.cookie;
var ind=theCookie.indexOf(cookieName);
if (ind==-1 || cookieName=="") return "";
var ind1=theCookie.indexOf(';',ind);
if (ind1==-1) ind1=theCookie.length;
return unescape(theCookie.substring(ind+cookieName.length+1,ind1));
}
Я не могу получить значение с помощью функции ReadCookie (выше) из файла cookie, который содержит:
Domain: .www.mydomain.com
Однако файл cookie, содержащий:
Domain: www.mydomain.com
работает просто отлично.
setcookie
или установите для него значениеfalse
, и вы сможете получить к нему доступ с помощью javascript. - person munch   schedule 03.08.2010