sessionStorage在jQuery中不起作用

时间:2015-03-26 11:43:15

标签: jquery sessionstorage

我正在使用sessionStorage进行客户端Web应用程序。 进入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中,我启动了一个警报警报(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');
    });
});

2 个答案:

答案 0 :(得分:0)

尝试removeItem,即

sessionStorage.removeItem([key]);

所以在你的代码中:

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

答案 1 :(得分:0)

我发现了问题。

再次审核所有内容,点击事件在$(document).ready中找不到,但无效。 现在它处于正确的位置并且工作正常!!!!!谢谢!!!