[英]“Unexpected end of input” Javascript registration/login system
我正在學校里做一個項目,實際上我的“注冊和登錄系統”正在運行,但是現在在進行注冊時控制台出現錯誤。 這是語法錯誤嗎? 我根本不知道,因為我是使用localStorage的新手。 (這是我使用localStorage的第一個項目)。 我真的可以使用一些幫助來清除錯誤的解決方法。
干杯。
HTML5
<div id="registerDialog" title="Register as user" style="display: none;">
<input id="txtUserName" type="text" placeholder="User name">
<input id="txtUserPassword" type="text" placeholder="Password"><br>
<button id="dialogRegBtn">Register</button>
</div>
<div id="loginDialog" title="Login" style="display: none;">
<input id="loginUserName" type="text" placeholder="User name">
<input id="loginUserPassword" type="text" placeholder="Password"><br>
<button id="dialogLoginBtn">Login</button>
</div>
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!");
}
});
您需要先檢查localStorage條目是否包含任何內容,然后才能對其進行解析。 在下面的代碼中,如果localStorage.aUsers
沒有任何內容,則默認將aUsers
設置為空數組。
$(document).on("click", "#dialogRegBtn", function() { var userName = $("#txtUserName").val(); var userPassword = $("#txtUserPassword").val(); var aUsers = localStorage.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 = localStorage.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!"); } });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <div id="registerDialog" title="Register as user"> <input id="txtUserName" type="text" placeholder="User name"> <input id="txtUserPassword" type="text" placeholder="Password"><br> <button id="dialogRegBtn">Register</button> </div> <div id="loginDialog" title="Login"> <input id="loginUserName" type="text" placeholder="User name"> <input id="loginUserPassword" type="text" placeholder="Password"><br> <button id="dialogLoginBtn">Login</button> </div>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.