Skip to content Skip to sidebar Skip to footer

Cannot Set Cookies In Javascript

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 cookies wo

Solution 1:

Recently I stumbled upon a similar issue. My script couldn't store a cookie in Chromium, although it worked well on all other major browsers. After some googling it turned out that Chrome ignores cookies from local pages. After I uploaded the page to remote server code magically started to work.

Solution 2:

I tried to save an cookie on Chrome and had the same error, that it would save. Although it did work in Firefox, so I asked an collegue and he suggested that I take away path and domain (I had name of cookie, value, expire, path amd domain) and all of a sudden it worked. So just to get the cookie to actually save in Chrome, you just need name, value and expire.

Hope it helps.

Example:

functioncreateCookie(name,value,days) {
     if (days) {
        var date = newDate();
        date.setTime(date.getTime()+(days*24*60*60*1000));
        var expires = "; expires="+date.toGMTString();
     }
     elsevar expires = "";
     document.cookie = name+"="+value+expires+";";
}

Solution 3:

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:

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

example of usage:

var expirydate=newDate();
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:

functiongetCookie(name) {
   var cookieName = name + "="var docCookie = document.cookievar 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
         }
         returnunescape(docCookie.substring(cookieStart,end))
      }
   }
   returnfalse
}

example of usage:

getCookie('cookiename');

Hope this helps.

Cheers, CoolSmoothie

Solution 4:

With chrome, you cannot create cookies on a local website, so you need to trick your browser into thinking this site is not local by doing the following:

1) Place the root directory of the web site into C:\inetpub\wwwroot, (so it looks like C:\inetpub\wwwroot\yourProjectFolder)

2) Get your computer name by right clicking Computer, clicking properties, and looking for Computer Name

3) Access your site in the browser by visiting http://my-computer-name/yourProjectFolder/index.html, at which point creating cookies should work.

(notice that I use dashes in the computer name, NOT underscores)

Solution 5:

I get the same weird behavior when opening a page in Chrome from localhost

When I map the same page in my hosts file and open the same page through the mapped name, normal cookie functionality resumes.

  1. Open you hosts file as admin. (usually c:\windows\system32\drivers\etc\hosts)
  2. Add 127.0.0.1 localhostdevelopment.com or similar to the end of your hosts file
  3. Save your hosts file (will be rejected if you did not open the file as admin)
  4. Go to http://localhostdevelopment.com/ (or whatever you called it) in Chrome.
  5. Please enjoy having your cookies behave normally.

Post a Comment for "Cannot Set Cookies In Javascript"