【发布时间】:2014-11-23 19:29:04
【问题描述】:
我在这方面陷入僵局。我正在尝试使用 $firebaseAuth 而不是已弃用的 FirebaseSimpleLogin 创建具有 AngularFire 的用户,如文档中所建议的那样。我确定表单提交了有效的电子邮件和密码,但我继续在控制台中收到以下错误:
Error: Firebase.createUser failed: First argument must contain the key "email" with type "string"
你可以看到代码,我使用工厂服务来处理 $createUser 方法,这是发生错误的地方,因为一旦方法返回,后续的 console.logs 就不会触发。请注意,我也尝试使用文档中的样板代码,而不是在控制器和服务之间拆分它,并且收到了相同的错误。非常感谢您的帮助,谢谢!
ng-submit="register()" 在表单元素上
$scope.register = function(){
console.log($scope.user); // logs object correctly
// Authentication is passed into the controller as a dependency
Authentication.register($scope.user)
.then(function(){
//This does NOT fire
console.log("User created successfully!");
Authentication.login($scope.user);
})
.then(function(authData){
console.log("Logged in as:", authData.uid);
})
.catch(function(error) {
console.log('error');
$scope.errorMessage = error.toString();
});
};
认证工厂服务
var obj = {
register: function(user){
var obj = {email: user.email, password: user.password};
console.log(obj); // works correctly
//var auth has the reference to Firebase
return auth.$createUser(obj);
}
};
【问题讨论】:
标签: javascript angularjs firebase angularfire