sessionStorage 在 jQuery 中不起作用

sessionStorage doesn't work in jQuery

我正在为客户端 Web 应用程序使用 sessionStorage。 进入 index.html 我使用 jQuery 设置 sessionStorage 变量:

$.ajax({
        type: "POST",
        url: "login.php",
        data: "user="+$("#user_name").val()+"&password="+$("#password").val(),
            success: function(html){
                if(html=='true') {
                    $("#add_err").html("Correct. Loading...")               
                    sessionStorage.setItem('sessionUser',$("#user_name").val());
                    sessionStorage.setItem('sessionPassword',$("#password").val());
                    setTimeout(function(){
                        $(location).attr('href','eval.html');
                    },2000);
                } else {
                    $("#add_err").html("Incorrect");
                }
            },
        });

好的。有用。在 eval.html 中,我启动警报 alert(sessionStorage.getItem('sessionUser'));并向我展示用户。

当我想断开应用程序时,我单击按钮 id=btnLogout:

$("#btnLogout").click(function(){
      sessionStorage.clear();
      window.location.assign('index.html');
});

但是 sessionStorage 并没有清除任何内容。我在 index.html 中放置了另一个警报,但未删除 sessionUser。

我不知道我做错了。

登录按钮来自 index.html = login.js:

$(document).ready(function(){
    $("#login").click(function(){
        $.ajax({
            type: "POST",
            url: "login.php",
            data: "username="+$("#user_name").val()+"&password="+$("#password").val(),
            success: function(html){
                if(html=='true') {
                    $("#add_err").html("User correct. Loading application...")              
                    sessionStorage.setItem('sessionUser',$("#user_name").val());
                    sessionStorage.setItem('sessionPassword',$("#password").val());
                    setTimeout(function(){
                        $(location).attr('href','eval.html');
                    },2000);
                } else {
                    $("#add_err").html("Incorrect");
                }
            },
        });
    });
}); 

注销按钮来自 eval.html:

$(document).ready(function(){
    $("#btnLogout").click(function(){
        sessionStorage.removeItem('sessionUser');
        sessionStorage.removeItem('sessionPassword');
        window.location.assign('index.html');
    });
});

尝试removeItem,即

sessionStorage.removeItem([key]);

因此在您的代码中:

$("#btnLogout").click(function(){
      sessionStorage.removeItem('sessionUser');
      sessionStorage.removeItem('sessionPassword');
      window.location.assign('index.html');
});

我找到问题了。

再次查看所有内容,点击事件在 $(document).ready 中的位置不正确,而且它不起作用。 现在它在正确的位置并且工作正常!!!!!!谢谢!!!