我正在尝试将一些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);
});
但是登录到控制台时总是变得假。
如何实现?
答案 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")