JavaScript - 检查 cookie 是否存在

3

我一直在尝试查看是否存在cookie,这是我的getCookie方法:

function getCookie(name)
    {
        var value = "; " + document.cookie;
        var parts = value.split("; " + name + "=");
        if (parts.length == 2) return parts.pop().split(";").shift();
    }

这里是我调用该方法的方式:

var cookie = getCookie("counter");

以下是我尝试的条件:

if(cookie == '')
        {
        }
        else
        {
             //Always goes here even when I clear my cookies and I know it does not exist.
        }

无论我做什么,我的条件总是进入else语句,我做错了什么?


cookie 将被设置为 undefined 而不是空字符串。可以尝试使用 if (cookie) 来代替? - Shadow
2个回答

5

如果cookie的值不是undefined,您可以检查其值。

    if (typeof(cookie)  === 'undefined'){
     CONSOLE.LOG('no cookie');
    } else {
     CONSOLE.LOG(' cookie exist');
    }

我该如何做相反的操作?(typeof(cookie) !== 'undefined') ? - user979331
如果 (!!cookie),则修改语句。 - Nishant Nair

0
请尝试以下函数以获取cookie:
    function getCookie(c_name){
    var c_value = document.cookie;
    var c_start = c_value.indexOf(" " + c_name + "=");
    if (c_start == -1){
      c_start = c_value.indexOf(c_name + "=");
    }
    if (c_start == -1){
      c_value = null;
    }
    else {
      c_start = c_value.indexOf("=", c_start) + 1;
      var c_end = c_value.indexOf(";", c_start);
      if (c_end == -1)
      {
    c_end = c_value.length;
    }
    c_value = unescape(c_value.substring(c_start,c_end));
    }
    return c_value;
    }

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接