如何使用javascript获取cookie的路径

我的设置Cookie js功能

function setCookie(name, value, expires, path){
    cookieStr = name + "=" + escape(value) + "; ";

    if(expires){
        expires = setExpiration(expires);
        cookieStr += "expires=" + expires + "; ";
    }
    if(path){
        cookieStr += "path=" + path + "; ";
    }
    document.cookie = cookieStr;
}

当我创建一个cookie时,

 setCookie('MyCookie','cookieName',3,'/Members')

如何获得cookie的路径?

最佳答案

TL:DR;
You cannot read through cookies based on path using javascript.

在JavaScript中,您只能使用内部对象document.cookies设置或获取cookie.并且此对象的内容将是一串由non-httpOnly个cookie名称和值组成的键值对,由;分隔.这就是它.

您无法获得Cookie的路径,域和其他属性的痕迹,因为它们只能被浏览器读取而不会显示给JavaScript.

另一方面,如果您使用任何形式的AJAX,您可以尝试通过xhr.getResponseHeader(“Set-Cookie”)拦截和解析请求标头,并根据需要将值存储在localStorage或sessionStorage中.我仍然告诉你,这不是一个好主意.某些浏览器可能会将Set-Cookie标头视为javascript要读取的禁止标头之一.但我认为这种限制仅适用于httpOnly cookies.

点赞