我正在使用这个jquery.cookie插件,我需要将值设置为TRUE或NULL / FALSE。
我试图这样做:$.cookie('ff', true, { expires: 30, path: '/' });
但它将值设置为字符串而不是布尔值。
解决这个问题的方法有哪些?
答案 0 :(得分:15)
Cookie只是字符串值。如gdoron commented,如果要将值视为布尔值,则需要在读取cookie值时将其解析为布尔值。
由于您评论说您正在使用PHP读取cookie值,请参阅Parsing a string into a boolean value in PHP。
答案 1 :(得分:6)
客户方:
$.cookie('ff', "true", { expires: 30, path: '/' });
服务器端:
$cookie = $this->input->cookie() == "true";
编辑:Cookie是字符串。存储到cookie的任何内容都需要转换为字符串。因此,您必须在其读取端执行字符串到布尔转换。上面我举了一个PHP(CodeIgniter)的例子。
答案 2 :(得分:0)
如果您只是想使用cookie作为一种标志,那么只需检查cookie是否存在,如果不存在,您可以认为它是假的:
const isSet = Boolean(cookie.get('my-cookie')) || false
这样您甚至不需要担心cookie的实际价值以及它是否存在。
答案 3 :(得分:0)
另一种方法是
var mycookie = !($.cookie("cookiename")=='false')
或者:
if(!($.cookie("cookiename")=='false')){
//mycode
}
如果值为“假”'然后($ .cookie(" cookiename")==' false')将返回true,因此我们使用来反转它返回false
如果值不是“假”'那么它将返回false,因此我们使用!将其反转,返回false