我正在尝试使用 Firebase 通过电子邮件/密码注册来构建一个带有用户身份验证的基本 Web 应用程序。
我现在的设置包括一个 main.js 文件,该文件包含以下内容:
var dbRef = new Firebase('https://url.firebaseIO.com');
var authClient = new FirebaseAuthClient(dbRef, function(error, user) {
if (error) {
// an error occurred while attempting login
console.log(error);
} else if (user) {
// user authenticated with Firebase
console.log('User ID: ' + user.id + ', Provider: ' + user.provider);
} else {
// user is logged out
console.log('logged out!');
}
});
function next(){
window.location = 'index.html';
}
function test(){
authClient.login('password', {
email: email,
password: password,
rememberMe: true
},next());
// window.location = 'index.html';
}
我从表单和登录中获取电子邮件/密码值。这样可行。但是,一旦我包含一个回调函数,然后将它们重定向到一个新的经过身份验证的页面,它就不再起作用了。事实上,大多数时候我都会收到“未知错误”响应。
当我进入下一页时,我不再登录。如果我删除 next() 函数并留在同一页面上,它可以工作 - 即使我随后从控制台触发下一个函数。您应该以不同的方式进入另一个页面吗?
我很确定存在某种通信问题(可能在页面切换之前登录没有得到返回?)因为如果我在下一个函数之前添加 1s 超时,它就会起作用。但这肯定不是最佳实践吗?
谢谢!