【发布时间】:2011-12-03 12:10:17
【问题描述】:
我正在开发一个已经有很多 cookie 的网站。现在我想做的是检测名为“login”的cookie是否存在。这是我的代码:
if (document.cookie.indexOf("login") >= 0) {
alert("login cookie exist");
}
else if(document.cookie.indexOf("login") < 0 ){
alert("no login cookie");
}
else{
}
该代码有什么问题? indexOf 方法将返回 -1 或 0,这取决于 cookie 是否存在,对吗?在这两种情况下,它都会返回我 -1 。我的if 声明错了吗?
【问题讨论】:
-
你试过
alert(document.cookie.indexOf("login"));吗? -
你检查过确实有一个 cookie 集吗?同样,由于 else 子句与 true 子句完全相反,您可以删除
else if {...}并直接使用else {alert('no cookie');}。 -
了解 javascript cookie:w3schools.com/js/js_cookies.asp
-
请不要链接到 W3Schools;见W3Fools。 QuirksMode 提供了一个更好的关于 cookie 的页面。
-
我忘了提到,使用我的开发人员工具栏,我可以准确地看到我拥有的所有 cookie,并且登录信息就在那里,我尝试做 alert(document.cookie.indexOf("login" ));但是当cookie在那里时它给我-1,当cookie不存在时给我-1
标签: javascript cookies