javascript — данные CanvasJs не отображаются на графике

Я работаю над CanvasJs чтобы показать данные в моем графике. Я разместил dropdown и в нем я поместил статический serial numbers, Сценарий таков: всякий раз, когда я выбираю серийный номер, отображаются данные на графике. Для этого я сделал местный php файл и положить его в мой местный server, сделал ajax запрос и отображение данных на графике.

Но проблема, с которой я сталкиваюсь, возникает при первом запуске, когда я выбираю какой-либо серийный номер, он не показывает мне ничего на графике, но когда я выбираю любой другой серийный номер, отображаются данные и затем при выборе другого серийного номера (также серийный номер). номер, который я выбираю при первом запуске) данные загружаются отлично, и моя программа работает нормально.

Для лучшего понимания смотрите код ниже

 var dataPoints = [];
function SrNo() {
var e = document.getElementById("dd");
var selectedVal = e.options[dd.selectedIndex].text;
if (selectedVal == "Select Serial Number")
{
toastr.warning('Please select a serial number', '', { timeOut: 2000 });

}
else {
$.ajax({
method: "GET",
url: "mylocalhost/server/index.php",
dataType: "json",
data: { Device_Serial_Number: selectedVal },
success: function (server_data) {

dataPoints = server_data;
dataPoints.forEach(function (data) {
dataPoints.push({ x: new Date(data.x), y: data.y });
});
},
error: function () {
alert("error");
}
});
//here i have generated my chart and passed dataPoints into it

}

Смотри ниже мой php код

$dsn=$_REQUEST['Device_Serial_Number'];
$sql = "SELECT Device_ID, Energy_kwh, Data_Datetime, Device_Serial_Number FROM ads_device_data WHERE Data_Datetime BETWEEN '2016-12-06' and '2016-12-07' and Device_Serial_Number='$dsn'";
$result = mysqli_query($con,$sql);
$data = [];if($result)
{
while($row = mysqli_fetch_array($result))
{
$serial = $row['Device_Serial_Number'];
$x = $row['Data_Datetime'];
$y = $row['Energy_kwh'];
$data[] = ['x' => $x , 'y' => (float)$y];
}
mysqli_free_result($result);
}
mysqli_close($con);
$json = json_encode($data);

Я не знаю в чем реальная проблема

Любая помощь будет высоко оценен

2

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …