我一直在JSON.parse的位置0的JSON中得到错误意外标记b?

时间:2017-10-25 16:09:54

标签: javascript json

所以我得到了这个创建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.")
  }
}
编辑:感谢指出我不需要解析它,因为我没有字符串化。这解决了问题,但由于我无法删除帖子,我必须把它留在这里

1 个答案:

答案 0 :(得分:1)

存储密码时,您没有将密码转换为JSON,因此在检索密码时无需使用JSON.parse()。您存储了一个普通字符串,您可以检索并使用它。

passwordTwo = localStorage.getItem(PREFIX + user);