У меня есть функция с именем getCookie(x)
, которая возвращает значение cookie с именем x
. Когда я проверяю console.log(getCookie(foo));
, он возвращает правильный термин либо solved
, либо пустую строку, если файлы cookie не существуют. Foo
- переменная!compare Значение cookie возвращает «false» каждый раз
Для этого испытания, мое печенье foo
существует и значение "solved"
, но если я это сделать:
console.log(getCookie(foo) == "solved");
она возвращает ложь. Почему это?
это мой getCookie()
Функция:
function getCookie(cname){
var name = cname + "=";
var carray = document.cookie.split(";");
for(var j=0; j <carray.length; j++){
var cookie = carray[j];
while(cookie.charAt(0)==" "){
cookie = cookie.substring(1);
}
if (cookie.indexOf(name) == 0){
return cookie.substring(name.length,cookie.length); //retruns the value of the cookie, in my case it is always "solved"
}
}
return ""; //if there is no cookie with the given name, it returns an empty string
}
я удалил комментарии, потому что они не на английском языке. Мои куки также получили срок действия, поэтому я должен сделать эти «дикие» вещи, чтобы получить часть cookiename=value
.
является 'foo' переменной или вы хотите написать' 'foo' '? –
Я проверил ваш код на stackoverflow.com: 'getCookie ('_ ga')' работает. Поэтому я не могу воспроизвести проблему. –
Я проверил переменную cookie с typeof, и он вернул «объект». вот почему он вернул false, когда я дал объект моей функции getCookie! –