Как передать данные JSON из экспресс-кода в сценарий javascript / jQuery в pug? - PullRequest
0 голосов
/ 23 марта 2019

Я пытаюсь передать некоторые данные JSON из экспресс-маршрута в файл .js, который находится в шаблоне .pug.Я не могу понять, как этого добиться.Я пытаюсь сделать следующее:

Маршрутизатор:

// Office Locations
router.get('/office_locations', (req, res, next) => {
  var sql = 'SELECT * FROM office_locations ORDER BY oloffice';
  var params = [];
  pool.query(sql, params, (err, result) => {
    if (err) {
      console.log(err);
      res.json(err);
    } else {
      res.render('office_locations', {title: title, tabledata: JSON.stringify(result.rows)});
    }
  });
});

Файл PUG:

extends layout

block content
  .container
    include menu.pug
    .workspace
      .map-content
        .map#map


  include main-addons.pug

  link(rel="stylesheet" href="https://unpkg.com/leaflet@1.4.0/dist/leaflet.css" integrity="sha512-puBpdR0798OZvTTbP4A8Ix/l+A4dHDD0DGqYW6RQ+9jxkRFclaxxQb/SJAWZfWAkuyeQUytO7+7N4QKrDh+drA==" crossorigin="")
  script(src="https://unpkg.com/leaflet@1.4.0/dist/leaflet.js" integrity="sha512-QVftwZFqvtRNi0ZyCtsznlKSWOStnDORoefr1enyq5mVL4tmKB3S/EnC3rRJcxCPavG10IcrVGSmPh6Qw5lwrg==" crossorigin="")
  script(src="/javascripts/office_locations.js")
  script(src="/javascripts-dev/table.js")

Файл, в котором мне требуется информация о табличных данных, - это table.js:

$(document).ready(function() {
  // get the table data
  var tabledata = !{tabledata};
  console.log(tabledata);
});

Но я всегда получаю false при входе в консоль.

Как этого достичь?

1 Ответ

1 голос
/ 23 марта 2019

Добавьте этот код перед строкой script(src="/javascripts-dev/table.js"):

 script(type='text/javascript').
   window.tabledata = "#{tabledata}";
...