0

我正在为客户端 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');
    });
});
4

2 回答 2

0

试试看removeItem_

sessionStorage.removeItem([key]);

所以在你的代码中:

$("#btnLogout").click(function(){
      sessionStorage.removeItem('sessionUser');
      sessionStorage.removeItem('sessionPassword');
      window.location.assign('index.html');
});
于 2015-03-26T11:50:38.447 回答
0

我发现了问题。

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

于 2015-03-26T15:43:43.937 回答