2014-05-18 69 views
1

找不出爲什麼登錄不起作用。這裏的javaScript代碼:Parse.com用javaScript SDK登錄

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", {,它仍然無法正常工作。

UPDATE:

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> 
+0

我們可以假設應用程序ID和應用程序密鑰字符串在您的最終是否正確?另外,當你說它不起作用時,你的意思是什麼?它是否在錯誤塊中結束?它是否提醒您錯誤信息?給你一個例外? –

+0

應用程序密鑰是正確的。我只是在控制檯日誌上得到'[object Object] [object Object]'。該呼叫處於登錄錯誤中。所以我相信登錄功能會執行。 – Jorge

+0

而不是'alert' I'有console.log(錯誤)',這在上面的代碼中是不同的。抱歉。 – Jorge

回答

6

正如我們在評論中討論的,問題是你使用<button type="submit"而不是<button type="button"

兩者的核心區別在於submit類型實際上會在執行功能前提交HTML表單中的表單和數據,而button類型會給你一個不提交的按鈕,但會發射分配給它的所有事件(例如您的onclick)。

+0

這是一個簡單問題的優秀答案。好一個。 – Dano007