gpt4 book ai didi

javascript - Firebase 数据检索不起作用

转载 作者:行者123 更新时间:2023-12-03 05:01:41 25 4
gpt4 key购买 nike

我一直在尝试检索 Firebase 数据库中的所有条目以填充我的 HTML 页面,但我一直无法弄清楚。我已经遵循了许多教程和 Firebase 文档,但我的代码不知何故没有更改 HTML 页面,并且控制台中没有显示错误。

基本上,我拥有的是数据库中的职位条目列表,我需要按照下图的格式发布这些职位条目。

enter image description here

例如,我的 FirebaseDB 中有这么多作业条目

enter image description here

我想检索所有这些条目并显示四张卡片及其各自的信息,并且随着新条目的添加,它们将被添加到显示中。现在我的代码无法工作,我不明白为什么。任何帮助将不胜感激。

  <div class="row" id='Card'>
<article class="col-xs-4">
<div class="cards"><span class="glyphicon glyphicon-flash icon"></span>
<hr class="divider"/>
<h2 class="title" id="jobTitle">Job Title</h2>
<div class="info">
<hr class="divider"/>
<p class="lead" id="jobDescription"><Strong>This is where Job description goes</strong></p><a class="btn btn-lg center-block" onclick="location.href = 'Specialistscard.html';">Specialists</a>
</div>
</div>
</article>



var jobTitle = document.getElementById('jobTitle');
var jobDescription= document.getElementById('jobDescription');

database = firebase.database();

var ref = database.ref('Jobs');
ref.on('value', gotData, errData);


function gotData(data) {
console.log(data);

var jobs = data.val();
var keys = Object.keys(jobs);

for (var i = 0; i < keys.length; i++) {
var k = keys[i];
jobTitle = jobs[k].JobTitle;
jobDescription = jobs[k].JobDescription;

var li = document.createElement('card', jobTitle, jobDescription)

}
}

function errData(err) {
console.log('Error!');
console.log(err);
}

最佳答案

好的@Ola,这是一个如何通过 javascript 填充 html 的示例,您也可以查看 HandleBars是一个用于操作 DOM 的 JS 库,并具有其他许多功能。

您好!

var dummyDataJobs = [
{
title: 'CEO',
description: 'CEO Description'
},
{
title: 'CTO',
description: 'CTO Description'
},
{
title: 'VP',
description: 'VP Description'
}
]
var container = document.getElementById('jobsContainer');
for (var index = 0; index < dummyDataJobs.length; index++) {
var job = dummyDataJobs[index];
var newCard = `
<div class="row" id='Card'>
<article class="col-xs-4">
<div class="cards"><span class="glyphicon glyphicon-flash icon"></span>
<hr class="divider"/>
<h2 class="title">`+ job.title + `</h2>
<div class="info">
<hr class="divider"/>
<p class="lead"><Strong>`+ job.description + `</strong></p><a class="btn btn-lg center-block" onclick="location.href = 'Specialistscard.html';">Specialists</a>
</div>
</div>
</article>`;

container.innerHTML += newCard;
}
<!DOCTYPE html>
<html>
<body>
<div id="jobsContainer"></div>
</body>
</html>

根据您的情况,您可以尝试以下 for 循环:

var container = document.getElementById('jobsContainer');
for (var i = 0; i < keys.length; i++) {
var k = keys[i];
var newCard = `
<div class="row" id='Card'>
<article class="col-xs-4">
<div class="cards"><span class="glyphicon glyphicon-flash icon"> </span>
<hr class="divider"/>
<h2 class="title">`+ jobs[k].JobTitle + `</h2>
<div class="info">
<hr class="divider"/>
<p class="lead"><Strong>`+ jobs[k].JobDescription +
`</strong></p><a class="btn btn-lg center-block" onclick="location.href = 'Specialistscard.html';">Specialists</a>
</div>
</div>
</article>`;

container.innerHTML += newCard;}//END OF FOR

请务必添加此 <div id="jobsContainer"></div>在你的 html 中,如示例所示

关于javascript - Firebase 数据检索不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42195106/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com