注销后出现Firebase错误

时间:2014-04-04 19:57:12

标签: javascript login firebase logout

我目前正在使用Firebase开发一个小网站。我有几个HTML文件,每个文件都包含一个调用函数

的注销按钮
function logout(){
    auth.logout();
    console.log("logout successfull");
    location.href="index.html";
}

重定向后,我尝试再次登录,但始终失败并显示以下错误消息:

  

错误:FirebaseSimpleLogin:发生了未知的服务器错误。

我花了一些时间才意识到重定向到索引页面会导致问题。当我删除location.href =“index.html”时;线,一切正常。 问题是,当用户没有进入时,我真的需要将我重定向到首页的内容。这是一个已知问题和/或是否有人能够找到解决此问题的方法?

提前致谢:)

PS:我意识到当我导致错误(f.e.调用未定义的函数)时,我可以“修复”问题(在重定向到索引页面之后)。如果这些信息有帮助,请点击......

1 个答案:

答案 0 :(得分:0)

好的,谢谢你的回复加藤! 我改变了很多,因为我开始了“项目”。我没有使用多个HTML文件,而是将所有内容复制到index.html中,现在使用mutliple(隐藏)DIV。 但不幸的是,这个问题仍然存在。

我提供两种不同的登录可能性。一个是Facebook(100%的时间适合我)和一个使用SimpleLogin(几乎不起作用)。

我非常确定我的初始化方式与firebase.com上的教程相同。 这就是我连接到Firebase DB的方式

var ref = new Firebase('https://partyfinder-db.firebaseio.com/');
var auth = new FirebaseSimpleLogin(ref, function(error, user) {
  if (error) {
    // an error occurred while attempting login
    alert(error);
  } else if (user) {

    // Here I work with user.id etc.    


  } else {
    // user is logged out
  }

});

这就是我尝试登录用户的方式......

function login() {
    //I probably should use jQuery here...  
    var _email = document.getElementById("emailLogin").value;
    var _pw1 = document.getElementById("passwordLogin").value;
    var _rememberMe = document.getElementById("rememberMe").checked;

    auth.login('password', {
        email: _email,
        password: _pw1,
        rememberMe: _rememberMe
    });
    showMain(); //Hide and show DIVs and stuff...
}

我在SignIn按钮上调用此函数。整个Javascript文件链接在HTML文件的头部。

因此,调用此函数通常会导致以下错误

  

错误:FirebaseSimpleLogin:发生了未知的服务器错误。

我已经发现只有在与DB的连接成功时才显示此消息。例如,当我输入荣耀电子邮件地址时,会显示以下消息:

  

错误:FirebaseSimpleLogin:指定的用户不存在。

有一些东西可以“修复”这个问题。例如,当我成功使用Facebook登录和注销后,我可以使用firebase simpleLogin登录。有时候(不幸的是并不总是),当我导致错误时,它会有所帮助。调用不存在的函数。在控制台中显示错误消息后,我可以继续(成功)登录。

但说实话,我绝对不知道这告诉了我这个错误是什么,以及这是否是对解决方案的某种暗示。我还尝试设置一些突破点并通过相关代码调试(使用谷歌浏览器),但没有找到任何东西。

我将页面上传到免费的网站空间,您可以自己测试这一切。 但请注意,这个项目仅用于测试目的。我不打算以某种方式发布它,它只是让我弄清楚多个事情,当我可以在上下文中设置它时,我发现学习更容易。我很确定它编码很糟糕并且包含许多错误等等。但我总是感谢实际问题旁边的反馈:)

登录时可以使用

  

电子邮件:user@email.com   密码:用户

如果您使用FB-Login,您的姓名和电子邮件地址将保存到数据库中(但如果您需要/需要使用它并且对此感到不舒服,我可以删除代码的这一部分。)

http://partyfinder.lima-city.de/

大多数评论都是德语,对不起......