Экспресс-рули, направляющие несколько наборов данных на одну страницу - PullRequest
0 голосов
/ 28 февраля 2019

У меня есть две таблицы mysql, одна из которых содержит посты блога, а другая содержит членов команды.

участников:

    (...)
     class Members {
      static all (callback) {
        pool.getConnection((err, connection) => {
          if (err) throw err
          connection.query('SELECT * FROM members', (err, results, fields) => {
            callback(err, results)
            connection.release()
          })
        })
      }
    (...)
}
module.exports = pool
module.exports.Bposts = Members

Сообщения блога:

(...)
    class Bposts {
      static all (callback) {
        pool.getConnection((err, connection) => {
          if (err) throw err
          connection.query('SELECT * FROM bposts', (err, results, fields) => {
            callback(err, results)
            connection.release()
          })
        })
      }
(...)
}
module.exports = pool
module.exports.Bposts = Bposts

Обе базы данных работают нормально, и я могу добавить к ним контент через формы моей страницы администратора.

Я хочу добавить два списка на этой странице, один из которых показывает участников, уже находящихся всистема, а другая показывает существующие сообщения.

Проблема в том, что я не знаю, как маршрутизировать несколько наборов данных на одну и ту же страницу через экспресс-сервер.

app.get('/forms', (request, response, next) => {
  Members.all((err, members) => {
    if (err) return next(err)
    response.render('forms', {
      members: members
    })
  })
  Bposts.all((err, members) => {
    if (err) return next(err)
    response.render('forms', {
      bposts: bposts
    })
  })
})

^^ Это досне работает, и если я только маршрутизирую данные членов, я не могу также составить список сообщений в блоге.

Когда я делаю, как показано выше, я получаю сообщение об ошибке, в котором говорится, что сервер не может отправить несколько заголовков, когда клиент уже получил один, и эта доза имеет смысл.Я просто очень запутался в том, как мне к этому подойти.

1 Ответ

0 голосов
/ 01 марта 2019

Очевидно, я не задумывался достаточно, но вот решение, которое я нашел после сна на нем:

app.get('/forms', (request, response, next) => {
  Members.all((err, members) => { 
    if (err) return next(err) 
    Bposts.all((err, bposts) => {
      if (err) return next(err)
      response.render('forms', {
        members: members,
        bposts: bposts
      })
    })
  })
})

Это позволяет мне получить доступ к обоим наборам данных через руль на моей странице администратора.

...