所以我得到了这个创建html页面的代码。函数注册允许用户注册并创建密码。函数checkpassword是检查是否为用户名输入了正确的密码。我的checkPassword函数中的本地存储中的项目似乎有问题吗?由于我被困了几个小时,我们将非常感谢帮助吗?
const PREFIX = "monash.eng1003.passwordApp.";
function checkPassword() {
var user = document.getElementById("registerUsername").value;
var username = document.getElementById("username").value;
var password = document.getElementById("password").value;
var passwordToCheck = localStorage.getItem(PREFIX + user);
var passwordTwo = JSON.parse(passwordToCheck);
if (password != passwordTwo) {
alert("Don't hack" + user);
} else {
alert("Welcome" + user);
}
}
function signup() {
var user = document.getElementById("registerUsername").value;
var pass1 = document.getElementById("registerPassword").value;
var pass2 = document.getElementById("confirmPassword").value;
if ((pass1 === pass2) && (pass1 !== "")) {
if (localStorage) {
var passwordToStore = pass1;
localStorage.setItem(PREFIX + user, passwordToStore);
alert("Account created for username: " + user);
}
} else {
alert("Passwords must match and cannot be empty.")
}
}
编辑:感谢指出我不需要解析它,因为我没有字符串化。这解决了问题,但由于我无法删除帖子,我必须把它留在这里
答案 0 :(得分:1)
存储密码时,您没有将密码转换为JSON,因此在检索密码时无需使用JSON.parse()
。您存储了一个普通字符串,您可以检索并使用它。
passwordTwo = localStorage.getItem(PREFIX + user);