Javascript 从Firebase数据库检索数据

Javascript 从Firebase数据库检索数据,javascript,html,firebase,firebase-realtime-database,Javascript,Html,Firebase,Firebase Realtime Database,我是Firebase的新手,我已经获得了要保存在Firebase数据库中的数据,但我无法检索它并显示在表中。我的代码如下。任何帮助都将不胜感激 以下是firebase数据库的图像: Javascript: /*jslint plusplus: true*/ var rootRef = firebase.database().ref().child("users"); rootRef.on("child_added", snap => { var medname = snap.chil

我是Firebase的新手,我已经获得了要保存在Firebase数据库中的数据,但我无法检索它并显示在表中。我的代码如下。任何帮助都将不胜感激

以下是firebase数据库的图像:

Javascript:

/*jslint plusplus: true*/
var rootRef = firebase.database().ref().child("users");

rootRef.on("child_added", snap => {

var medname = snap.child("MedName").val();
var end = snap.child("End").val();
var start = snap.child("Start").val();
var type = snap.child("Type").val();
var Description = snap.child("description").val();

$("demo").append("<tr><td>" + medname + "</td><td>" + end + 
                        "</td><td>" + start + "</td><td>" + type + 
                        "</td><td>" + Description + 
                        "</td><td><button>Remove</button></td></tr>");


}
/*jslint plusplus:true*/
var rootRef=firebase.database().ref().child(“用户”);
rootRef.on(“添加的子对象”,snap=>{
var medname=snap.child(“medname”).val();
var end=snap.child(“end”).val();
var start=snap.child(“start”).val();
var type=snap.child(“type”).val();
var Description=snap.child(“Description”).val();
$(“演示”).append(“+medname+”+end+
“”+开始+“”+类型+
“”+说明+
“删除”);
}
Html:


医学名称
终点
开始
类型
描述

首先,更正脚本中的错误。
在jquery中编写#demo而不是demo。希望这能完全帮助您

如果您删除两个主要错误,您的代码将正常工作

  • 未使用上一个答案中提到的正确选择器。$(“#demo”)或$(“.demo”)将在使用ID或类选择器时起作用
  • 不要创建名为“end”的变量。end在Javascript中是一个保留字
  • 但是,以下是不使用变量的重写:

    var rootRef = firebase.database().ref().child('users');
    
    rootRef.on("child_added", function (userRecord) {
    
      var user = userRecord.val();
      var row = $('<tr></tr>');
    
      row.append('<td>' + user.MedName + '</td>');
      row.append('<td>' + user.Start + '</td>');
      row.append('<td>' + user.Type + '</td>');
      row.append('<td>' + user.description + '</td>');
      row.append('<td><button>Remove</button></td>');
    
      $('#demo').append(row);
    
    });
    
    var rootRef=firebase.database().ref().child('users');
    rootRef.on(“添加了child_”),函数(userRecord){
    var user=userRecord.val();
    变量行=$('');
    行。追加(“”+user.MedName+“”);
    行。追加(“”+user.Start+“”);
    行。追加(“”+用户。类型+“”);
    行。追加(“”+user.description+“”);
    行。append('Remove');
    $('#demo')。追加(行);
    });
    
    此外,还不清楚您是打算使用ES2015还是ES5。这可能会导致兼容性问题,具体取决于代码的运行位置,但请尽量不要将它们混用

    以下是我见过的最好的Javascript风格指南:


    回调是否被触发?JavaScript控制台中是否显示任何消息?我没有收到任何此类消息,数据根本就不会显示,更不用说在表中显示了。您是否尝试在调试器中单步进入回调?堆栈溢出是一个出了名的低效调试工具,因此如果您不这样做,它确实会有所帮助这些步骤由您自己完成并告诉我们。或者:您可以在jsbin中重现问题,以便我们可以在那里查看它吗?
    var rootRef = firebase.database().ref().child('users');
    
    rootRef.on("child_added", function (userRecord) {
    
      var user = userRecord.val();
      var row = $('<tr></tr>');
    
      row.append('<td>' + user.MedName + '</td>');
      row.append('<td>' + user.Start + '</td>');
      row.append('<td>' + user.Type + '</td>');
      row.append('<td>' + user.description + '</td>');
      row.append('<td><button>Remove</button></td>');
    
      $('#demo').append(row);
    
    });