我正在尝试使用javascript来模拟会话。大多数情况下,将用户凭证保存到LocalStorage中,并与之后的数组进行比较。 我越来越对var oStoredCredentials = JSON.parse(localStorage.savedCredentials);
线路输入的意外的结束,我无法找到答案.. 这是整个代码块:意外的输入结束(javascript和JSON)
$(document).on("click", ".submitBtnLog", function(){
var sUsername = $("#LoginName").val();
var sPassword = $("#LoginPassword").val();
for(var i=0; i< aEmployees.length; i++){
if(sUsername == aEmployees[i].username && sPassword == aEmployees[i].password){
login = true;
var sUsername = aEmployees[i].username;
var sPassword = aEmployees[i].password;
var oCredentials = {"savedUsername":sUsername,"savedPassword":sPassword};
var sCredentials = JSON.stringify(oCredentials);
localStorage.savedCredentials = sCredentials;
}
}
});
/*CHECK IF USER HAS ALREADY STARTED A "SESSION"*******************************************************************************/
if (localStorage.getItem("savedCredentials") === null) {
localStorage.savedCredentials = [];
}else{
var oStoredCredentials = JSON.parse(localStorage.savedCredentials);
//console.dir(oStoredCredentials.savedUsername)
for(var i=0; i< aEmployees.length; i++){
if(oStoredCredentials.savedUsername==aEmployees[i].username && oStoredCredentials.savedPassword==aEmployees[i].password){
login = true;
}
if(login === true){
var BoxHtml="Welcome "+aEmployees[i].name +" "+aEmployees[i].surname;
$("#Navigation").css({"display":"block"});
$("#LoginContainer").html(BoxHtml);
}else{
console.log(error);
};
};
};
什么是'localStorage.savedCredentials'?你能确认JSON真的吗? –
是的。我将用户输入的用户名和密码保存到一个变量中,我将它串化并将其保存到本地存储 –
我明白了,但如果由于某种原因出错,第二次调用读取localStorage将失败,事关你的尝试。这个问题只是为了评估问题的位置。 –