Я использую приведенный ниже код для обработки файлов cookie, он отлично работает локально, но когда я загружаю его на наш тестовый сервер, файлы cookie не устанавливаются (то же самое для Firefox, IE и Chrome, поэтому я не думаю, что этопроблема с браузером).
Файлы cookie разрешены, поскольку я могу устанавливать файлы cookie с помощью PHP setcookie("RFT_reeftWpLang", $lang, time()+29030400, dirname($_SERVER["SCRIPT_NAME"]), $_SERVER["SERVER_NAME"]);
Ни локально, ни на сервере я не получаю никаких ошибок при попытке установить document.cookie, нона сервере console.log( getFilterCookie(cname));
вернуть пустую строку, где я получаю ожидаемое значение локально.
Я знаю, что вы, вероятно, не можете сказать, что не так без доступа к серверу, но я надеюсь, что вы можете сказать мне, что искатьдля того, чтобы точно определить ошибку
function setFilterCookie(cname,cvalue,exdays) {
var cookiePath = "/";
var pathArray = window.location.pathname.split( '/' );
if (pathArray.length > 2 && $.trim(pathArray[1]) != "" ) {
cookiePath = cookiePath+pathArray[1];
}
var d = new Date();
d.setTime(d.getTime()+(exdays*24*60*60*1000));
var expires = "expires="+d.toGMTString();
try {
document.cookie = cname+"="+cvalue+"; "+expires+"; domain="+window.location.host+"; path="+cookiePath ;
} catch (e) {console.log(e);}
if(exdays < 0) {
document.cookie = cname+"="+cvalue+"; "+expires;
}
console.log( getFilterCookie(cname));
}
function getFilterCookie(cname) {
var name = cname + "=";
var ca = document.cookie.split(';');
for(var i=0; i<ca.length; i++) {
var c = $.trim(ca[i]);
if (c.indexOf(name)==0) {
return c.substring(name.length,c.length);
}
}
return "";
}
function delFilterCookie(cname) {
setFilterCookie(cname, "", -1);
}