jquery cookie将值设置为布尔值true

时间:2012-03-17 18:04:09

标签: jquery cookies setcookie jquery-cookie

我正在使用这个jquery.cookie插件,我需要将值设置为TRUE或NULL / FALSE。

我试图这样做:$.cookie('ff', true, { expires: 30, path: '/' });但它将值设置为字符串而不是布尔值。

解决这个问题的方法有哪些?

4 个答案:

答案 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