這是我在腳本中初始化圖表的腳本JavaScript$(document).ready( () => { setInterval( () => { var sensorUpdatedData = new XMLHttpRequest(); sensorUpdatedData.onreadystatechange = () => { if(sensorUpdatedData.readyState === 4) { if(sensorUpdatedData.status === 200) { console.log("ready"); var Data = JSON.parse(sensorUpdatedData.responseText); console.log(Data); valueTemp = Data.temperature; valueHum = Data.humidity; valueSmoke = Data.smoke; reading_time = Data.reading_time; reading_time_hour = Data.reading_time_hour; myChartTemp.update(); myChartHum.update(); myChartSmoke.update(); myChartData.update(); } else { alert('Error Code: ' + sensorUpdatedData.status); alert('Error Message: ' + sensorUpdatedData.statusText); } } } sensorUpdatedData.open('POST', 'data.php', true); sensorUpdatedData.send(); }, 5000); });所有值都正確更新(我用一些 console.log 進(jìn)行了測(cè)試)這就是我創(chuàng)建其中一張圖表的方式:var ctxTempChart = document.getElementById("chartLineTemp").getContext("2d"); var gradientStrokeTempChart = ctxTempChart.createLinearGradient(0, 230, 0, 50); gradientStrokeTempChart.addColorStop(1, 'rgba(29,140,248,0.2)'); gradientStrokeTempChart.addColorStop(0.4, 'rgba(29,140,248,0.0)'); gradientStrokeTempChart.addColorStop(0, 'rgba(29,140,248,0)'); //blue colors var dataTemp = { labels: reading_time_hour, datasets: [{ label: "Temperature", fill: true, backgroundColor: gradientStrokeTempChart, });超文本標(biāo)記語言 <canvas id="chartLineTemp"></canvas>一切似乎都工作正常,但我不知道如何顯示更新的數(shù)據(jù)。vavalueTemp、valueHum...在腳本開頭全局聲明
2 回答

慕沐林林
TA貢獻(xiàn)2016條經(jīng)驗(yàn) 獲得超9個(gè)贊
問題是我正在傳遞一個(gè)對(duì)象,而它需要一個(gè)數(shù)組。Myvar Data
是包含多個(gè) JSON 對(duì)象的單個(gè) JSON 對(duì)象。在我應(yīng)用之后valueTemp = JSON.parse(Data.temperature);
,它返回一個(gè)溫度值數(shù)組,這正是我所需要的。

阿波羅的戰(zhàn)車
TA貢獻(xiàn)1862條經(jīng)驗(yàn) 獲得超6個(gè)贊
您是否嘗試過以 DOM 對(duì)象的形式訪問更新函數(shù)?
window.myChartTemp.update();
或者 document.myChartTemp.update();
- 2 回答
- 0 關(guān)注
- 154 瀏覽
添加回答
舉報(bào)
0/150
提交
取消