使用firebase创建用户的未知错误

时间:2014-06-10 23:59:37

标签: authentication firebase

我在尝试使用firebase实现简单的登录身份验证(电子邮件/密码)时,从浏览器收到CORS错误。

我检查了安全规则,并将其设置为

{
"rules": {
".read": true,
".write": true
 }
}

以下是该示例中代码的摘要。

<script src="https://cdn.firebase.com/js/client/1.0.15/firebase.js"></script>
<script type='text/javascript' src='https://cdn.firebase.com/js/simple-login/1.5.0/firebase-simple-login.js'> </script>


var myRootRef = new Firebase('https://vivid-fire-myserver.firebaseio.com/');
var authClient = new FirebaseSimpleLogin(myRootRef, function(error, user) {
    if (error) {
        alert(error);
        return;
    }
    if (user) {
        alert('user already logged in');
    } else {
        alert('user logged out');
    }
});

$("#registerButton").on("click", function() {
    var email = $("#email").val();
    var password = $("#password").val();
    authClient.createUser(email, password, function(error,  user) {
        if (!error) {
            alert('registered successfully');
        } else {
            alert(error);
        }
    });
}); 

1 个答案:

答案 0 :(得分:1)

问题似乎是提交表单的结果,导致页面重新加载。正如Rob所证实的那样,重新加载发生在HTTP OPTIONS请求服务器检查CORS配置能够完成之前。

解决方法是防止表单在提交时重新加载。我通过在我的html表单和我的jquery脚本中返回false来做到这一点。

<form class="m-t" role="form" onSubmit="return goLogin()">
..........

function goLogin() {
    $("#loginButton").click(function() {
    ......      
    )}; 

    return false;   
}