如何在JavaScript中保存cookie值时设置路径?

时间:2011-09-26 05:58:09

标签: javascript cookies

我在ASP页面上保存了一些cookie值。我想设置cookie的根路径,以便cookie可以在所有页面上使用。

目前,Cookie路径为/v/abcfile/frontend/

请帮帮我。

5 个答案:

答案 0 :(得分:83)

简单地说:document.cookie="name=value;path=/";

负点

  

现在,cookie将可用于域上的所有目录   来自。如果该网站只是该域名中的众多网站之一,那就是   最好不要这样做,因为其他人也可以访问   你的cookie信息。

答案 1 :(得分:34)

对于整个应用中的访问Cookie 使用路径= / ):

function createCookie(name,value,days) {
    if (days) {
        var date = new Date();
        date.setTime(date.getTime()+(days*24*60*60*1000));
        var expires = "; expires="+date.toGMTString();
    }
    else var expires = "";
    document.cookie = name+"="+value+expires+"; path=/"; 
}

注意:

  

如果设置path=/
   现在,cookie可用于整个应用程序/域。    如果您未指定路径,则当前Cookie仅针对当前页面保存,您无法在其他页面上访问该页面。

有关详细信息,请参阅 - http://www.quirksmode.org/js/cookies.html(域和路径部分)

如果您通过插件jquery-cookie在jquery中使用Cookie:

$.cookie('name', 'value', { expires: 7, path: '/' });
//or
$.cookie('name', 'value', { path: '/' });

答案 2 :(得分:4)

有关更多文档,请参阅https://developer.mozilla.org/en/DOM/document.cookie

 setItem: function (sKey, sValue, vEnd, sPath, sDomain, bSecure) {  
     if (!sKey || /^(?:expires|max\-age|path|domain|secure)$/.test(sKey)) { return; }  
     var sExpires = "";  
     if (vEnd) {  
       switch (typeof vEnd) {  
         case "number": sExpires = "; max-age=" + vEnd; break;  
         case "string": sExpires = "; expires=" + vEnd; break;  
         case "object": if (vEnd.hasOwnProperty("toGMTString")) { sExpires = "; expires=" + vEnd.toGMTString(); } break;  
       }  
     }  
     document.cookie = escape(sKey) + "=" + escape(sValue) + sExpires + (sDomain ? "; domain=" + sDomain : "") + (sPath ? "; path=" + sPath : "") + (bSecure ? "; secure" : "");  
   }

答案 3 :(得分:3)

document.cookie = "cookiename=Some Name; path=/";

这样做

答案 4 :(得分:0)

这会有所帮助......

function setCookie(name,value,days) {
   var expires = "";
   if (days) {
       var date = new Date();
       date.setTime(date.getTime() + (days*24*60*60*1000));
       expires = "; expires=" + date.toUTCString();
   }
    document.cookie = name + "=" + (value || "")  + expires + "; path=/";
}

 function getCookie(name) {
   var nameEQ = name + "=";
   var ca = document.cookie.split(';');
   for(var i=0;i < ca.length;i++) {
       var c = ca[i];
       while (c.charAt(0)==' ') c = c.substring(1,c.length);
        if (c.indexOf(nameEQ) == 0) return 
        c.substring(nameEQ.length,c.length);
  }
return null;
}