Javascript删除JSESSIONID cookie无法正常工作

时间:2014-10-07 15:39:09

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

我对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;

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

1 个答案:

答案 0 :(得分:1)

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

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