【问题标题】:Firebase Data Not Saving to DatabaseFirebase 数据未保存到数据库
【发布时间】:2016-09-27 14:32:21
【问题描述】:

我在尝试向 Firebase 添加数据时遇到问题。忽略我不使用的vars,因为我正在尝试不同的东西,并且已经注释掉了我目前不使用的东西。

但本质上,我想做的是将这些数据保存到 Firebase,如下所示:

  1. 用户在输入框中输入他的姓名和年龄,然后点击提交。
  2. 一旦他/她点击提交,函数addFB() 就会运行,理想情况下会创建一个名为users 的孩子,然后在其下创建一个新输入的新孩子userName(用户名来自输入框),并将他的姓名和年龄存储在该孩子中。

但是,Firebase 不会因此而受到影响。请帮忙。提前致谢!

<h2>Add</h2>
<input type=text" id="userName">
<input type="number" id="userAge">
<button id="btUpdateMessage" margin-bottom="20px" onclick="addFB()"> Update</button>
&nbsp;
<script>
var lblCurrentMessage = document.getElementById('lblCurrentMessage'),
  userName = document.getElementById('userName'),
  btUpdateMessage = document.getElementById('btUpdateMessage'),
  userAge = document.getElementById('userAge'),
  rootRef = new Firebase('https://********.firebaseio.com');
var usersRef = rootRef.child('users');

function addFB() {
  usersRef.child(userName).set({
    Name: userName,
    Age: userAge
  });
  userName.value = '';
  userAge.value = '';
}

【问题讨论】:

  • 使用最新版本的“firebase”库。 firebase.google.com/docs
  • 我有对 Firebase SDK 的引用,一切都在那里初始化--
  • 所以这真的没有帮助。还有其他建议吗?
  • 请不要使用用户名作为节点键,并将其存储为子值。最好将用户信息保存在以 userId 作为键的节点中。 userId 保证是不同的,并且与 Firebase 为该用户创建的 userId 保持一致。
  • @Jay 你是对的

标签: javascript firebase firebase-realtime-database


【解决方案1】:

*rootRef = new Firebase('https://********.firebaseio.com');*

上面的代码不正确。这是旧方法。

只需检查以下代码。这将对您有所帮助。

function addFB() {
    var userName = document.getElementById('userName'),
        userAge = document.getElementById('userAge');

    firebase.database().ref('users/' + userName).set({
       Name: userName,
       Age: userAge
    });
}

【讨论】:

  • @Taras 使用的是旧版 firebase sdk,您指的是 firebase SDK 3.0(新的 firebase)。塔拉斯一头雾水。他正在学习较早的教程。
  • 这是老方法?我没有意识到我正在学习旧教程......
  • 另外,我刚试过是你有的,但没用。
  • 你不需要 rootRef 部分吗?因为当我尝试只做 firebase.database.ref 时,它不知道那个方法是什么。
  • @devprashant 只需检查我在问题部分的第一条评论。我已经提到要使用最新版本的 firebase 库。
【解决方案2】:

这个怎么样?

var rootRef = Firebase('https://********.firebaseio.com');
var contactsRef = rootRef .child('users');

function addFB() {
contactsRef.child(userName)
      .push({
          userName: document.getElementById('userName').value,
          userAge: document.getElementById('userAge').value
          });

  Name.value = '';
  Age.value = '';
}

【讨论】:

    猜你喜欢
    • 2020-03-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-27
    • 2021-05-24
    • 2017-10-31
    相关资源
    最近更新 更多