Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jquery cookie将值设置为布尔值true_Jquery_Cookies_Setcookie_Jquery Cookie - Fatal编程技术网

jquery cookie将值设置为布尔值true

jquery cookie将值设置为布尔值true,jquery,cookies,setcookie,jquery-cookie,Jquery,Cookies,Setcookie,Jquery Cookie,我正在使用这个插件,我需要将值设置为TRUE或NULL/FALSE 我试着这样做:$.cookie('ff',true,{expires:30,path:'/')但它将值设置为字符串而不是布尔值 有什么方法可以解决这个问题吗?Cookie只具有字符串值。同样,如果要将该值视为布尔值,则需要在读取回cookie值时将其解析回布尔值 由于您评论说您正在使用PHP读取cookie值,请参阅。客户端: $.cookie('ff', "true", { expires: 30, path: '/' });

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

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


有什么方法可以解决这个问题吗?

Cookie只具有字符串值。同样,如果要将该值视为布尔值,则需要在读取回cookie值时将其解析回布尔值

由于您评论说您正在使用PHP读取cookie值,请参阅。

客户端:

$.cookie('ff', "true", { expires: 30, path: '/' });
服务器端:

$cookie = $this->input->cookie() == "true";

编辑:Cookies是字符串。存储到cookies的任何内容都需要转换为字符串。因此,您必须在读取端执行字符串到布尔值的转换。上面我举了一个PHP(CodeIgniter)的例子。

如果您只是想使用cookie作为一种标志,那么只需检查cookie是否存在,如果不存在,您可以假设它为false:

const isSet = Boolean(cookie.get('my-cookie')) || false

这样,您甚至不必担心cookie的实际值,也不必担心它是否存在。

另一种方法是

var mycookie = !($.cookie("cookiename")=='false')
或:

如果值为'false',那么($.cookie(“cookiename”)=='false')将返回true,因此我们使用将其反转返回false


如果该值不是“false”,那么它将返回false,因此我们使用将其反转返回false

是,读取时将“true”字符串解析为布尔值。据我所知,Cookie中存储的任何内容都是字符串,因为Cookie本身就是字符串。因此,任何类型的修复都会出现在cookie读取端。问题是,我正在使用
$this->input->cookie()读取它
的codeigniter函数,php有这样做的函数吗?有没有用php解析布尔值的方法?是的,只需将它与字符串“true”进行比较。不能说我理解向下投票。这个答案怎么了?谢谢@MΓΓББLL,我在想我自己。人们至少可以给出一个反对票的理由:(。我也很高兴知道这有什么问题。我想他们认为他希望客户端的答案不是
php
one。@格多伦我想你是对的。到时候需要澄清我的答案。
if(!($.cookie("cookiename")=='false')){ 
    //mycode 
}