我在使用 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/