Jquery cookie未检测到不存在

时间:2017-03-09 18:03:00

标签: javascript jquery cookies

当给定的Cookie不存在时,结果必须为 null undefined ,但在这种情况下 favouritescook 不存在但脚本认为它确实如此。

对于null或undefined,结果必须为“OK Detect”,但结果为“BAD no detect result”。为什么这不起作用?

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-cookie/1.4.1/jquery.cookie.js"></script>
<script>
actcookies=jQuery.cookie("favouritescook");
function fav(id)
{
    if (actcookies=='undefined' || actcookies=='null')
    {
        alert("OK detect");
    }
    else
    {
        alert("BAD Not detect Result : "+actcookies);
    }
}
</script>

<div onclick="fav(1);">Test Now 1</div>

我在不同的浏览器中试过这个,结果相同。我不明白这一点。

3 个答案:

答案 0 :(得分:2)

问题是它不等于字符串'undefined'或字符串'null',它与值undefinednull匹配,没有引号({ {1}})。

抛弃报价,它应该可以正常工作。

答案 1 :(得分:1)

它不会返回undefined您需要将控制器更改为

if (typeof actcookies=='undefined' || !actcookies)
{
    alert("OK detect");
}
else
{
    alert("BAD Not detect Result : "+actcookies);
}

答案 2 :(得分:0)

这应该有效

    actcookies=jQuery.cookie("favouritescook");
function fav(id)
{
    if (actcookies==undefined || actcookies==null)
    {
        alert("OK detect");
    }
    else
    {
        alert("BAD Not detect Result : "+actcookies);
    }
}