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