jQuery检查Cookie是否存在,如果没有创建它

Tod*_*ddN 36 cookies jquery if-statement isnull referrer

我不能让这个代码工作我必须遗漏一些非常简单的东西.我试图检查一个Cookie是否存在,如果它没有{不做任何事情}它是否{创建它}.我正在通过在页面上添加警报来测试cookie.基本上我不希望cookie继续使用引用网址重新创建,我试图只抓取第一个引用的URL.

$(document).ready(function(){   
  if ($.cookie('bas_referral') == null ){
   var ref = document.referrer.toLowerCase();  
   // set cookie  
   var cookURL =  $.cookie('bas_referral', ref, { expires: 1 }); 
  } 
 });  
Run Code Online (Sandbox Code Playgroud)

显示当前cookie内容:

    // get cookie  
    alert($.cookie('bas_referral'));  

    // delete cookie  
     $.cookie('bas_referral', null);
Run Code Online (Sandbox Code Playgroud)

Las*_*zlo 69

我认为防弹方式是:

if (typeof $.cookie('token') === 'undefined'){
 //no cookie
} else {
 //have cookie
}
Run Code Online (Sandbox Code Playgroud)

检查null,empty或undefined var的类型总是返回'undefined'

编辑: 您可以更轻松地到达那里:

if (!!$.cookie('token')) {
 // have cookie
} else {
 // no cookie
}
Run Code Online (Sandbox Code Playgroud)

!!伪造的变为false.请记住,这将变为0虚假!

  • 警告:在下面的Dan评论中输入null = ='object'. (2认同)

ine*_*dia 26

 $(document).ready(function() {

     var CookieSet = $.cookie('cookietitle', 'yourvalue');

     if (CookieSet == null) {
          // Do Nothing
     }
     if (jQuery.cookie('cookietitle')) {
          // Reactions
     }
 });
Run Code Online (Sandbox Code Playgroud)

  • 我不知道为什么,但这是设置一个cookie,而不是检查是否存在,非常奇怪! (2认同)

And*_*334 8

我有很多麻烦,因为我正在使用:

if($.cookie('token') === null || $.cookie('token') === "")
{
      //no cookie
}
else
{
     //have cookie
}
Run Code Online (Sandbox Code Playgroud)

无论我在设置cookie方面做了什么,上面总是返回false.从我的测试来看,似乎该对象在设置之前是未定义的,因此将以下内容添加到我的代码中修复它.

if($.cookie('token') === null || $.cookie('token') === "" 
    || $.(cookie('token') === "null" || $.cookie('token') === undefined)
{
      //no cookie
}
else
{
     //have cookie
}
Run Code Online (Sandbox Code Playgroud)