无法使用javascript将数据添加到firebase实时数据库中

时间:2018-02-21 15:11:21

标签: javascript firebase web firebase-realtime-database

var config = {
  apiKey: "A**********************kBs",
  authDomain: "the**********.firebaseapp.com",
  databaseURL: "https://***********.firebaseio.com",
  projectId: "the-o***********nette",
  storageBucket: "the***********.appspot.com",
  messagingSenderId: "6***********6"
};

firebase.initializeApp(config);

$("#register").click(
  function() {

    var email=$("#regEmail").val();
    var password=$("#regPass").val();
    var fname=$("#regfName").val();
    var lname=$("#reglName").val();

    firebase.auth().createUserWithEmailAndPassword(email, password)
    .catch(function(error) {
      // Handle Errors here.
      var errorCode = error.code;
      var errorMessage = error.message;
      alert(errorMessage)
    });

    alert( "you have successfully registered");

    // Get a reference to the database service
    var database = firebase.database();
    var userId = firebase.auth().currentUser;


    firebase.database().ref('users/' + userId).set({
      fname: fname,
      lname: lname,
      email: email,
    })
    .catch(function(error) {
      var errormsg=error.message;
      console.log(errormsg);
    });

  }
);

createuserwithemailandpassword正常运行。但我无法在数据库中添加任何内容。没有报告错误日志。 HTML文件中提到了var。如果还有其他需要,请告诉我。谢谢!

1 个答案:

答案 0 :(得分:1)

您正在传递完整的用户对象而不是uid。请试试这个:

var userId = firebase.auth().currentUser.uid;
firebase.database().ref('users/' + userId).set();