如何使用jQuery Cookie插件设置/读取cookie的值

时间:2014-11-07 22:00:57

标签: javascript jquery cookies

我试图使用jQuery Cookie插件设置cookie的值,并且因为代码经过" Cookie没有设置"所以不能正常工作。警报。我使用的是最新的jQuery Cookie版本以及jQuery 2.1.1。这就是我的表现:

// HTML
<button id="btnSetCookie">Set</button>
<button id="btnUnSetCookie">Unset</button>
<button id="btnShow">Show cookie status/val</button>

// jQuery
$(document).ready(function() {
    $("#btnSetCookie").on('click', function(){
        $.cookie('cookieVal', true);
    });

    $("#btnUnSetCookie").on('click', function(){
        $.cookie('cookieVal', false);
    });

    $("#btnShow").on('click', function(){
        var cook = $.cookie('cookieVal');

        if (cook === true)
            alert("Cookie TRUE");
        else if (cook === false)
            alert("Cookie FALSE");
        else
            alert("Cookie not set");
    });
});

我还尝试仅将cook==进行比较而不工作,因为我得到相同的结果,我做错了什么?我让this小提琴使用相同的代码只是为了玩它。可以提供一些帮助或告诉那里可能有什么问题吗?

作为一个额外的问题/疑问,如果我在点击事件上设置cookie,然后在向导上的步骤之间移动,表单尚未发送到任何地方,它将被设置,直到我离开此页面或直到用户清理它的cookie吧?

1 个答案:

答案 0 :(得分:1)

你不能使用布尔值。改为使用字符串:

$(document).ready(function() {
$("#btnSetCookie").on('click', function(){
    $.cookie('cookieVal', "true");
});

$("#btnUnSetCookie").on('click', function(){
    $.cookie('cookieVal', "false");
});

$("#btnShow").on('click', function(){
    var cook = $.cookie('cookieVal');

    if (cook === "true")
        alert("Cookie TRUE");
    else if (cook === "false")
        alert("Cookie FALSE");
    else
        alert("Cookie not set");
});

});