无法弄清楚登录失败的原因。这是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;
}
});
在我在函数外部调用它时起作用:
<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>
HTML表单
{{1}}
答案 0 :(得分:6)
正如我们在评论中所讨论的那样,问题在于您使用的是<button type="submit"
而不是<button type="button"
。
两者之间的核心区别在于submit
类型实际上会在执行您的函数之前提交HTML表单中的表单和数据,而button
类型会为您提供一个按钮不会提交,但会触发分配给它的所有事件(例如您的onclick
)。