Cannot set cookies in Javascript

后端 未结 9 2189
青春惊慌失措
青春惊慌失措 2020-12-01 10:28

I have a very simple line of code that set and read a cookie. I kept getting empty value for my cookie and have no understanding why. I have cookie enabled and know that coo

9条回答
  •  轻奢々
    轻奢々 (楼主)
    2020-12-01 11:06

    Chrome denies file cookies. To make your program work, you going to have to try it in a different browser or upload it to a remote server. Plus, the code for your setcookie and getcookie is essentially wrong. Try using this to set your cookie:

    function setCookie(name,value,expires){
       document.cookie = name + "=" + value + ((expires==null) ? "" : ";expires=" + expires.toGMTString())
    }
    

    example of usage:

    var expirydate=new Date();
    expirydate.setTime( expirydate.getTime()+(100*60*60*24*100) )
    setCookie('cookiename','cookiedata',expirydate)
    // expirydate being a variable with the expiry date in it
    // the one i have set for your convenience expires in 10 days
    

    and this to get your cookie:

    function getCookie(name) {
       var cookieName = name + "="
       var docCookie = document.cookie
       var cookieStart
       var end
    
       if (docCookie.length>0) {
          cookieStart = docCookie.indexOf(cookieName)
          if (cookieStart != -1) {
             cookieStart = cookieStart + cookieName.length
             end = docCookie.indexOf(";",cookieStart)
             if (end == -1) {
                end = docCookie.length
             }
             return unescape(docCookie.substring(cookieStart,end))
          }
       }
       return false
    }
    

    example of usage:

    getCookie('cookiename');
    

    Hope this helps.

    Cheers, CoolSmoothie

提交回复
热议问题