【问题标题】:Javascript to delete JSESSIONID cookie not working删除 JSESSIONID cookie 的 Javascript 不起作用
【发布时间】:2014-12-02 02:37:32
【问题描述】:

我在使用 IE10 时遇到了奇怪的问题。 IE10 正在发送过期的 JSESSIONID cookie 进行身份验证,导致登录失败,所以我试图删除 JSESSIONID cookie,如下所示

function getCookie(cname) {
        var name = cname + "=";
        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);
            if (c.indexOf(name) != -1) {
                return c.substring(name.length, c.length);
            }
        }
        return "";
    }
    if(getCookie("JSESSIONID"))
        {
        var c = getCookie("JSESSIONID")
            console.log("JSESSIONID = "+ c)
            document.cookie = c + '=; expires=Thu, 01 Jan 1970 00:00:01 GMT;';
        }

每当我重新加载页面时,我都会在控制台日志中看到 JSESSIONID = A64F97BF3AF662AC56238F2C23D529AA 而不是JSESSIONID = A64F97BF3AF662AC56238F2C23D529AA=; expires=Thu, 01 Jan 1970 00:00:01 GMT;

有人可以帮我解决这个问题吗?

【问题讨论】:

    标签: javascript jquery internet-explorer cookies session-cookies


    【解决方案1】:

    您将保留旧的 cookie 值并将= 添加到它的末尾。您应该将值设置为空字符串:

    document.cookie = 'JSESSIONID=; expires=Thu, 01 Jan 1970 00:00:01 GMT;';
    

    【讨论】:

    • 我将其更改为document.cookie = 'JSESSIONID=; expires=Thu, 01 Jan 1970 00:00:01 GMT;';,但刷新页面时仍会在控制台中看到JSESSIONID = A64F97BF3AF662AC56238F2C23D529AA
    • 搜索 [javascript] delete cookie 以了解其他有关如何删除 cookie 的问题。
    猜你喜欢
    • 2012-01-20
    • 1970-01-01
    • 2011-05-08
    • 2013-02-19
    • 2020-08-20
    • 2015-12-21
    • 2019-08-13
    • 1970-01-01
    • 2013-01-08
    相关资源
    最近更新 更多