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

How do I set path while saving a cookie value in JavaScript?

本文关键字:设置 路径 cookie 保存 JavaScript      更新时间:2023-09-26

我在一个ASP页面上保存了一些cookie值。我想为cookie设置根路径,这样cookie就可以在所有页面上使用。

当前cookie路径为/v/abcfile/frontend/

请帮帮我。

简写:document.cookie="name=value;path=/";

有一个负点到它

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

对于在整个应用程序中访问cookie (使用path=/):

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: '/' });
document.cookie = "cookiename=Some Name; path=/";

参见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" : "");  
   }

这将有助于....

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;
}