jQuery는 쿠키가 존재하는지 확인한다.


Answers

방탄 방법은 다음과 같습니다.

if (typeof $.cookie('token') === 'undefined'){
 //no cookie
} else {
 //have cookie
}

null, 비어 있거나 정의되지 않은 var의 유형을 검사하면 항상 'undefined'가 반환됩니다.

편집 : 당신은 더 쉽게 얻을 수 있습니다 :

if (!!$.cookie('token')) {
 // have cookie
} else {
 // no cookie
}

!! 위변조 을 거짓으로 바꿉니다 . 이것이 0 으로 거짓이 될 것이라는 점에 유의하십시오!

Question

나는이 코드를 작동시킬 수 없다. 나는 아주 간단한 것을 놓치고 있어야한다. {쿠키를 만들지 않으면} 아무 것도하지 않으면 쿠키가 있는지 확인하려고합니다. 페이지에 경고를 포함시켜 쿠키를 테스트하고 있습니다. 기본적으로 쿠키가 추천 URL로 다시 생성되는 것을 원하지 않습니다. 먼저 참조 된 URL 만 가져 오려고합니다.

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

현재 쿠키 내용 표시 :

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

    // delete cookie  
     $.cookie('bas_referral', null);



 $(document).ready(function() {

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

     if (CookieSet == null) {
          // Do Nothing
     }
     if (jQuery.cookie('cookietitle')) {
          // Reactions
     }
 });



내가 사용하기 때문에 나는 이것에 많은 문제가 있었다 :

if($.cookie('token') === null || $.cookie('token') === "")
{
      //no cookie
}
else
{
     //have cookie
}

위의 내용은 항상 쿠키를 설정하는 것과 상관없이 false를 반환하는 것입니다. 내 테스트에서 객체가 설정되기 전에 객체가 정의되지 않은 것으로 보입니다. 따라서 다음 코드를 코드에 추가하면 해결됩니다.

if($.cookie('token') === null || $.cookie('token') === "" 
    || $.(cookie('token') === "null" || $.cookie('token') === undefined)
{
      //no cookie
}
else
{
     //have cookie
}



값이 있는지 확인한 후 쿠키를 설정할 수 있습니다.

 $(document).ready(function(){            
      if ($.cookie('cookie')) { //if cookie isset
         //do stuff here like hide a popup when cookie isset
         //document.getElementById("hideElement").style.display = "none";
      }else{
         var CookieSet = $.cookie('cookie', 'value'); //set cookie
      }       
 });