繁体   English   中英

我无法将数据从Firebase显示到我的Node JS客户端

[英]I can't get my data to display from firebase to my node js client

我正在尝试将存储在数据库中的数据显示到客户端,但是很难弄清楚这一点。

我可以在终端中以JSON格式显示控制台中的数据

例如

{ '-L32RrW6PaBF162cyfDv': { article: { body: 'Test Body', title: 'Test Title' } },
  '-L32UMeos7o2bwtPMVTF': { article: { body: 'test', title: 'test' } },.....

但是,当我尝试在我的Jade模板中使用for循环显示它时,似乎什么也没有显示。 我希望有人能指出我做错了什么。 任何帮助,将不胜感激。 谢谢,让我知道是否有人需要更多信息来回答这个问题。

这是我尝试检索和显示数据的部分(所有路由均正常工作):

// Add Articles Route
router.get('/', (req, res, next) => {
  let ref = firebase.database().ref('articles')
  let articlesRef = ref.child('article')
  let articleRef = articlesRef.key
  articlesRef = ref.once('value')
    .then((snap) => {
      console.log(snap.val())
    })
  res.render('articles', {
    title: 'Add Article',
    articles: articlesRef
  })
})

这是玉模板文件。 仅最后三行代码应与此问题相关:

extends layout

block content
    .row
    h1 #{title}
    hr
    form(method='POST', action='/articles')
        #form-group
            label Title
            input.form-control(name='title', type='text')
        br
        #form-group
            label Body
            textarea.form-control(name='body')
            br
            input.btn.btn-primary(type='submit', value='Submit')
    br
    br
    ul
        each article in articles
            li= article

尝试这个:

// Add Articles Route
router.get('/', (req, res, next) => {
  let ref = firebase.database().ref('articles')
  let articlesRef = ref.child('article')
  let articleRef = articlesRef.key
  articlesRef = ref.once('value')
    .then((snap) => {
      console.log(snap.val());
      res.render('articles', {
        title: 'Add Article',
        articles: snap.val()
      })
    })
})

您需要等待实际值获取后才能呈现它,从而将其移动到then并使用snap.val()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM