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