不知道为什么登录不工作。以下是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
上工作,我不确定我错过了什么。在body
内的html
文档的末尾,我有:
<!-- 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
类型实际上会在执行函数之前提交表单和HTML表单中的数据,而button
类型会给您一个不提交的按钮,但会触发分配给它的所有事件(例如您的onclick
)。