&引用;“输入意外结束”;Javascript注册/登录系统
我在学校里做一个项目,我的“注册和登录系统”确实在工作,但现在我在注册时控制台出现了一个错误。这是语法错误吗?我只是不知道,因为我对使用本地存储完全是新手。(这是我第一个使用localStorage的项目)。我真的需要一些帮助来澄清如何修复我的错误 干杯 HTML5&引用;“输入意外结束”;Javascript注册/登录系统,javascript,jquery,html,local-storage,Javascript,Jquery,Html,Local Storage,我在学校里做一个项目,我的“注册和登录系统”确实在工作,但现在我在注册时控制台出现了一个错误。这是语法错误吗?我只是不知道,因为我对使用本地存储完全是新手。(这是我第一个使用localStorage的项目)。我真的需要一些帮助来澄清如何修复我的错误 干杯 HTML5 登记 登录 JQUERY和JAVASCRIPT $(document).on("click", "#dialogRegBtn", function() { var userName = $("#txtUser
登记
登录
JQUERY和JAVASCRIPT
$(document).on("click", "#dialogRegBtn", function() {
var userName = $("#txtUserName").val();
var userPassword = $("#txtUserPassword").val();
var aUsers = JSON.parse(localStorage.aUsers);
var oUser = {
"userName": userName,
"password": userPassword
};
aUsers.push(oUser);
localStorage.aUsers = JSON.stringify(aUsers);
});
$(document).on("click", "#loginBtn", function() {
$("#loginDialog").dialog();
});
$(document).on("click", "#dialogLoginBtn", function() {
var aUsers = JSON.parse(localStorage.aUsers);
var userName = $("#loginUserName").val();
var userPassword = $("#loginUserPassword").val();
var loggedIn = false;
for (var i = 0; i < aUsers.length; i++) {
if (aUsers[i].userName == userName && aUsers[i].password == userPassword) {
loggedIn = true;
}
};
if (loggedIn == true) {
$("#loginDialog").append("Login was succesful");
} else {
$("#loginDialog").append("No user with that login information!");
}
});
$(文档)。在(“单击”上,“#dialogRegBtn”,函数(){
var userName=$(“#txtUserName”).val();
var userPassword=$(“#txtUserPassword”).val();
var aUsers=JSON.parse(localStorage.aUsers);
变量USER={
“用户名”:用户名,
“密码”:用户密码
};
推送(oUser);
localStorage.aUsers=JSON.stringify(aUsers);
});
$(文档)。在(“单击”,“登录”,函数()上){
$(“#loginDialog”).dialog();
});
$(文档)。在(“单击”,对话框登录),函数()上{
var aUsers=JSON.parse(localStorage.aUsers);
var userName=$(“#loginUserName”).val();
var userPassword=$(“#loginUserPassword”).val();
var loggedIn=假;
对于(变量i=0;i
在尝试解析localStorage条目之前,需要检查它是否包含任何内容。在下面的代码中,如果localStorage.aUsers
中没有任何内容,我将aUsers
默认为空数组
$(文档)。在(“单击”上,“#dialogRegBtn”,函数(){
var userName=$(“#txtUserName”).val();
var userPassword=$(“#txtUserPassword”).val();
var aUsers=localStorage.aUsers?JSON.parse(localStorage.aUsers):[];
变量USER={
“用户名”:用户名,
“密码”:用户密码
};
推送(oUser);
localStorage.aUsers=JSON.stringify(aUsers);
});
$(文档)。在(“单击”,“登录”,函数()上){
$(“#loginDialog”).dialog();
});
$(文档)。在(“单击”,对话框登录),函数()上{
var aUsers=localStorage.aUsers?JSON.parse(localStorage.aUsers):[];
var userName=$(“#loginUserName”).val();
var userPassword=$(“#loginUserPassword”).val();
var loggedIn=假;
对于(变量i=0;i
登记
登录
您遇到了什么错误?#dialogLoginBtn
代码在尝试解析本地存储之前不会检查本地存储中是否有任何内容。错误何时发生,发生在哪一行?您好,Barmar,感谢您的检查。我发现了自己的错误,因为我应该手动将aUsers和方括号放在localStorage中,这样我的解决方案才能工作。万分感谢:)
$(document).on("click", "#dialogRegBtn", function() {
var userName = $("#txtUserName").val();
var userPassword = $("#txtUserPassword").val();
var aUsers = JSON.parse(localStorage.aUsers);
var oUser = {
"userName": userName,
"password": userPassword
};
aUsers.push(oUser);
localStorage.aUsers = JSON.stringify(aUsers);
});
$(document).on("click", "#loginBtn", function() {
$("#loginDialog").dialog();
});
$(document).on("click", "#dialogLoginBtn", function() {
var aUsers = JSON.parse(localStorage.aUsers);
var userName = $("#loginUserName").val();
var userPassword = $("#loginUserPassword").val();
var loggedIn = false;
for (var i = 0; i < aUsers.length; i++) {
if (aUsers[i].userName == userName && aUsers[i].password == userPassword) {
loggedIn = true;
}
};
if (loggedIn == true) {
$("#loginDialog").append("Login was succesful");
} else {
$("#loginDialog").append("No user with that login information!");
}
});