我试图使用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吧?
答案 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");
});
});