如何将JSON数据从express传递到pug中的javascript / jQuery脚本?

时间:2019-03-23 08:14:55

标签: javascript jquery express pug

我正在尝试将一些JSON数据从快速路由传递到.pug模板中的.js文件。我不知道如何实现这一目标。我正在尝试如下:

路由器:

// 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")

我需要tabledata信息的文件是table.js:

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

但是登录到控制台时总是变得假。

如何实现?

1 个答案:

答案 0 :(得分:1)

private function getStatement() { $key = md5($this->sql); if (!array_key_exists($key, $this->stmtCache)) { // Expunge the oldest or least used or less costly or... // statement if cache is full - TODO // ... $this->stmtCache[$key] = [ 'stmt' => $this->pdo->prepare($this->sql) ]; } $this->stmtCache[$key]['ts'] = time(); return $this->stmtCache[$key]['stmt']; } 行之前添加以下代码:

script(src="/javascripts-dev/table.js")