删除 JSESSIONID cookie 的 JavaScript 不起作用

标签 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;

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

最佳答案

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

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

关于删除 JSESSIONID cookie 的 JavaScript 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26239891/

相关文章:

javascript - jQuery 触发事件随着时间的推移而堆栈

Javascript将数组中对象的属性转换为字符串

javascript - 根据另一个元素的状态切换 DOM 元素值的最有效方法是什么?

jquery:读取div id并删除适当的div?

java - Content-Disposition 设置的文件名在IE6 中被忽略。来自 web.xml 的 URL 显示为文件名

javascript - jQuery 在 Chrome 和 IE 中对数组输出进行不需要的排序(FF 工作正常)

javascript - tinyMCE 编辑器版本 3 上传图像选项

java - 在 Phonegap (Java Android) 中运行 native 代码

javascript - KnockoutJS bug 更改 html 绑定(bind)的内容(外部 knockout )会破坏 html 绑定(bind)

javascript - IE 11.0.10 无法显示使用 Javascript 更新的 HTML,除非打开控制台