为什么以下jquery告诉我我的cookie仍然存在?

时间:2013-12-19 07:59:53

标签: javascript jquery cookies

我有一个loginform,它使用cookie来记住用户名输入和复选框选择的状态。我已经实现了一个按钮来重置表单,如下所示:

<form id="login" action="~/Login?ReturnUrl=%2F" method="POST" class="form-horizontal">
    ...
    <input id="formReset" type="reset" value="Reset" class="btn btn-default"/>
</form>

我已经使用警报实现了jquery,只是为了告诉我发生了什么。我不明白的是,它始终告诉我,即使在我检查资源时没有显示cookie也存在 - &gt; Chromes开发人员控制台中的Cookie。我知道如果我在“记住我”复选框设置为true的情况下登录,则会设置cookie,如果我再次登录并将复选框设置为false,则表示未设置。

我在这里做错了什么?

<script type="text/javascript">
    $('#formReset').click(function() {
        if ($.cookie('loginCookie') === null || $.cookie('loginCookie') === "") {
            alert("Cookie does not exist");
        } else {
            // $.removeCookie('loginCookie');
            alert("Cookie does exist");
        }
        $(this).closest('form')("input[type=text], textarea").val("");
    });
</script>

1 个答案:

答案 0 :(得分:2)

您正在使用Strict equal运算符,对于不存在的Cookie项$.cookie返回undefined,因此条件失败,请尝试使用否定运算符:

if (!$.cookie('loginCookie'))