javascript - 使用 javaScript SDK 登录 Parse.com

标签 javascript html parse-platform

无法弄清楚为什么登录不起作用。这是 javaScript 代码:

Parse.initialize("app id", "app key");

function fazerLogin() {
    var username = document.getElementById('usuario').value;
    var password = document.getElementById('senha').value;

    alert(username);
    alert(password);

    Parse.User.logIn(username, password, {
        success: function(user) {
            alert("deu certo");
            // Do stuff after successful login.
        },
        error: function(user, error) {
            alert("erro");
            alert(user + error);
            // The login failed. Check error to see why.
        }
    });
}

var botao = document.querySelector('#botao');
botao.onclick = fazerLogin;

调用该函数是因为我看到了带有正确登录名和密码的警报。我可以毫无问题地登录 iOS sdk,但它不适用于 javaScript,我不确定我错过了什么。在 html 文档的末尾 body 我有:

     <!-- PARSE.COM JS -->
    <script src="assets/js/parse-1.2.18.js"></script>
    <script src="assets/js/login.js"></script>

即使我将用户名和密码作为字符串,如:Parse.User.logIn("username", "password", {,它仍然不起作用。

更新:

当我在函数外部调用它时,login 起作用:

Parse.User.logIn("email", "PASS", {
        success: function(user) {
            console.log("Deu certo");
            console.log(user);
            return true;
        },
        error: function(user, error) {
            console.log(user + error);
            return false;
        }
    });

HTML 格式

<form role="form" id="formulario-login">
                <div class="form-group has-feedback lg left-feedback no-label">
                  <input type="text" class="form-control no-border input-lg rounded" placeholder="Usuário" autofocus id="usuario">
                  <span class="fa fa-user form-control-feedback"></span>
                </div>
                <div class="form-group has-feedback lg left-feedback no-label">
                  <input type="password" class="form-control no-border input-lg rounded" placeholder="Senha" id="senha">
                  <span class="fa fa-unlock-alt form-control-feedback"></span>
                </div>
                <div class="form-group">
                  <div class="checkbox">
                    <label>
                      <input type="checkbox" class="i-yellow-flat"> Manter-me conectado.
                    </label>
                  </div>
                </div>
                <div class="form-group">
                    <button type="submit" class="btn btn-warning btn-lg btn-perspective btn-block" id="botao">LOGIN</button>
                </div>
            </form>

最佳答案

正如我们在评论中讨论的那样,问题在于您使用的是 <button type="submit"而不是 <button type="button" .

两者的核心区别在于 submit type 实际上会在执行函数之前提交表单和 HTML 表单中的数据,而 button type 会给你一个不提交的按钮,但会触发分配给它的所有事件(比如你的 onclick )。

关于javascript - 使用 javaScript SDK 登录 Parse.com,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23722665/

相关文章:

html - 如何在 Rails ERB View 中转义 block 中的所有 HTML

html - 导航栏和页面顶部之间的间隙

java - 如何在 Android 上导入 ParseLoginUI?

javascript - 如何在 javascript 中更改特定的 tr bgcolor

ios - 更新 Parse.com 中的 createdAt 列

android - proguard 之后 parse.com 不工作

asp.net - ASP 表单操作文件 (FileSystemObject)

javascript - angularjs中的单卡和多卡选择数据

php - 表单提交后将变量附加到 url

javascript - 如何使用 javascript 将图像转换为音频?