【发布时间】:2018-11-07 15:46:21
【问题描述】:
我正在尝试使用 chart.js 以图表形式显示有关时间序列数据的一些数据。从 psql 获取数据,转换为 json,作为参数发送给 js 函数以渲染图表。
js中数据接收正常,但是html中js函数调用出现'Uncaught ReferenceError'错误。
编辑
它引发了这些错误:
Uncaught RefernceError: dspChrt is not defined @ line
dspChrt(WData);
</script>
</body>
</html>
这是我的代码:
JS
<script>
var Device_Data;
var rssi, batt;
var rssiArray = [];
var battArray = [];
var N = 12;
for (i = 0; i < N; i++) {
rssiArray.push(0);
battArray.push(0); }
function dspChrt(Device_Data) {
console.log(Device_Data[0].rssi);
console.log(Device_Data[1].battery_voltage_mv);
rssi = Device_Data[0].rssi;
batt = Device_Data[1].battery_voltage_mv;
rssiArray.shift();
rssiArray.push(rssi);
battArray.shift();
battArray.push(batt);
var ctx = document.getElementById('myChart').getContext('2d');
var myChart = new Chart(ctx, {
type: 'line',
data: {
labels: [new Date()],
datasets: [{
label: 'rssi',
data: rssiArray,
backgroundColor: "rgba(153,255,51,0.4)"
}, {
label: 'Battery_Voltage',
data: battArray,
backgroundColor: "rgba(255,153,0,0.4)"
}]
}
options: {
scales: {
xAxes: [{
type: 'time',
time: {
unit: 'hour',
}
}]
}
}
});
}
//var myVar = setInterval(dspChrt, 60000);
</script>
HTML/PHP
<?php
require("Connection.php");
$stmt = $conn->prepare("Select date_time, battery_voltage_mv FROM measuring_device_statuses LIMIT 24");
$stmt->execute();
$result = $stmt->setFetchMode(PDO::FETCH_ASSOC);
$WData = $stmt->fetchAll();
/*
echo "<pre>".print_r($WData, true)."</pre>";
die();
*/
?>
<script>
var WData = <?php print_r(json_encode($WData));?>;
//console.log(WData);
dspChrt(WData);
</script>
</body>
</html>
【问题讨论】:
标签: javascript php html chart.js psql