我正在尝试从我的哈巴狗模板中的服务器加载数据。
我的路线如下所示:
app.get('/serverdata', async(req, res) => {
const chartData = []
for (const i = 0; i < 7; i++) {
chartData.push(Math.random() * 50)
}
const result = JSON.stringify(chartData)
res.render('serverdata', {
result,
})
})
我的哈巴狗模板如下所示:
.row
.col-md-12
.card
.embed-responsive.embed-responsive-16by9
canvas#myNewChart(style='display: block; width: 1000px; height: 500px;', width='1000', height='500')
block specific-js
script(type='text/javascript', src="js/plugins/chart.js")
script(type='text/javascript').
var data = {
labels: ["January", "February", "March", "April", "May", "June", "July"],
datasets: [
{
label: "My First dataset",
fillColor: "rgba(220,220,220,0.2)",
strokeColor: "rgba(220,220,220,1)",
pointColor: "rgba(220,220,220,1)",
pointStrokeColor: "#fff",
pointHighlightFill: "#fff",
pointHighlightStroke: "rgba(220,220,220,1)",
data: result //here I am getting the error
}
]
};
var ctx = document.getElementById("myChart").getContext("2d");
var myNewChart = new Chart(ctx).Line(data);
我的错误在我的视图文件中:
serverdata:13 Uncaught ReferenceError: result is not defined
at serverdata:13
有什么建议如何在我的哈巴狗文件的
script.
标记中加载服务器数据?感谢您的答复!
最佳答案
我认为您在混合不同的环境。在浏览器中执行向您显示错误的行,并且在这种情况下,没有名为result
的变量。
由于服务器上已有端点/serverdata
,因此只需加载和解析该URL中的数据即可。详细信息取决于您使用的JavaScript库类型,但是使用jQuery getJSON:
$.getJSON("/serverdata", function(data) {
/* Update your chart by using 'data' */
});
关于javascript - Pug-在Pug脚本中从服务器访问数据(type ='text/javascript'),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47119784/