Javascript Parse.com未登录用户

Javascript Parse.com未登录用户,javascript,jquery,html,parse-platform,Javascript,Jquery,Html,Parse Platform,我使用Parse.com作为后端创建了一个登录系统,我一直不明白为什么我的代码不能使用这个系统。当用户输入他们的用户ID和密码时,应该检查解析数据库,如果找到,根据他们的角色登录。(基本上将它们发送到menu1、menu2或menu3)。如果它找不到它们,应该创建一个警告,说“用户名密码不正确”,并清除表单 如果您现在点击“登录”按钮,它不会做任何事情 create_account.html成功地用用户名和密码在Parse数据库中注册了一个用户,因此我知道它连接了……我只是无法登录他们 <

我使用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>

index.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();
        }
    });

});
$(函数()
{
Parse.$=jQuery;
初始化(“x”,“y”);
});
$('.form signin')。关于('submit',函数(e)
{ 
e、 预防默认值();
var data=$(this).serializeArray(),userID=data[0]。value,password=data[1]。value;
Parse.User.logIn(用户名、密码、{
成功:功能(用户){
var queryRole=newparse.Query(Parse.Role);
if(queryRole.equalTo('name','Student')){
window.location=“menu1.html”
}
else if(queryRole.equalTo('name','Tutor')){
window.location=“menu2.html”
}
否则{
window.location=“professor/professor-menu3.html”
}
},
//如果有错误
错误:函数(用户,错误){
console.log(错误);
警报(“用户名或密码不正确”);
$(“.form signin”)[0]。重置();
}
});
});

您设置了
用户ID
密码

var data = $(this).serializeArray(),userID = data[0].value,password = data[1].value;
Parse.User.logIn(username, password, {
然后使用
用户名
密码

var data = $(this).serializeArray(),userID = data[0].value,password = data[1].value;
Parse.User.logIn(username, password, {
另外,如果您在表单中添加其他字段,那么获取
用户ID
密码的方式对我来说似乎有点危险,因为它会破坏这些字段

我建议您切换到:

var username = $('#userID').val();
var password = $('#password').val();
相反

此外,表单中没有提交按钮。更改:

<button type="button" class="btn btn-lg btn-block btn-primary">Sign In</button>
登录
致:

登录

你说得对!我确实这么做了,但是当您单击“登录”时,这些更改仍然没有执行任何操作。有什么想法吗?首先添加一个
console.log('was here')以检查是否调用了它(检查浏览器控制台以查看它是否出现在那里)。另外,您在浏览器控制台中有任何错误吗?嗯…似乎除了file://www.parsecdn.com/js/parse-1.6.7.min.js 加载资源失败:net::ERR_FILE_NOT_FOUND
/
-只有从http或https加载时,带前缀的URL才能工作,而不是从本地文件加载。添加
https
。另外,正如我上面指出的,您加载了两次解析。您加载了两次解析: