[英]Parse.com Not logging In User
我使用Parse.com作為后端創建了一個登錄系統,對於我一生來說,我無法弄清楚為什么這不適用於我擁有的代碼。 當用戶輸入其用戶ID和密碼時,應該檢查解析數據庫,如果找到該數據庫,則根據其角色登錄。 (將它們基本上發送到menu1,menu2或menu3)。 如果找不到它們,則應該創建一個警告,提示“密碼錯誤的用戶名”並清除表格。
如果您現在點擊“登錄”按鈕,它什么都不會做
create_account.html已使用用戶名和密碼成功在Parse數據庫中注冊了一個用戶,因此我知道它已連接....我只是無法登錄。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<!--Bootstrap-->
<link rel="stylesheet" href="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<script src="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js"></script>
<!--Parse-->
<script type="text/javascript" src="http://www.parsecdn.com/js/parse-latest.js"></script>
<script src="//www.parsecdn.com/js/parse-1.6.7.min.js"></script>
<!--Javascript-->
<!--Stylesheet-->
<link rel="stylesheet" type="text/css" href="css/login.css">
<title>index.html</title>
</head>
<body>
<div class="container">
<div class="row">
<div class="col-xs-12">
<h1>Study App</h1>
<h2>Please Sign In</h2>
<form class="form-signin">
<div class="form-group">
<input type="text" class="form-control" id="userID" placeholder="User ID">
</div> <!--end User ID-->
<div class="form-group">
<input type="password" class="form-control" id="password" placeholder="Password">
</div> <!--end Password-->
<a href="urltt">Forgot Password?</a> <!--Not implemented yet-->
<button type="button" class="btn btn-lg btn-block btn-primary">Sign In</button>
</form> <!--end SIGN IN FORM-->
</div> <!--END COLUMN-->
</div> <!--END ROW-->
<div class="row">
<div class="col-xs-12">
<div id="add_User">
<img src="img/add_user.png" alt="Add User Icon" height="42" width="42">
<p><a href="create_account.html">Create Account</a></p>
</div>
</div> <!--END COLUMN-->
</div> <!--END ROW-->
</div> <!--end container-->
<script src="js/login.js"></script>
</body>
</html>
login.js
$(function()
{
Parse.$ = jQuery;
Parse.initialize("x", "y"); <!--Removed for security-->
});
$('.form-signin').on('submit', function(e)
{
e.preventDefault();
var data = $(this).serializeArray(),userID = data[0].value,password = data[1].value;
Parse.User.logIn(username, password, {
success: function (user) {
var queryRole = new Parse.Query(Parse.Role);
if(queryRole.equalTo('name', 'Student')) {
window.location = "menu1.html"
}
else if (queryRole.equalTo('name', 'Tutor')) {
window.location = "menu2.html"
}
else {
window.location = "professor/professor-menu3.html"
}
},
// If there is an error
error: function (user, error) {
console.log(error);
alert("Username or Password incorrect");
$(".form-signin")[0].reset();
}
});
});
您設置userID
和password
:
var data = $(this).serializeArray(),userID = data[0].value,password = data[1].value;
然后您使用username
和password
:
Parse.User.logIn(username, password, {
另外,如果您曾經在表單中添加其他字段,那么獲取userID
和password
的方式對我來說似乎有點危險。
我建議您切換到:
var username = $('#userID').val();
var password = $('#password').val();
代替。
另外,您的表單中沒有提交按鈕。 更改:
<button type="button" class="btn btn-lg btn-block btn-primary">Sign In</button>
至:
<button type="submit" class="btn btn-lg btn-block btn-primary">Sign In</button>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.