I have a problem when updating datapoint in canvas chart. I get this error message:
Uncaught TypeError: Cannot read property ‘getTime’ of undefined
The output I receive in response.msg is
[{label: ‘Purok I’, y:1},{label: ‘Purok II’, y:1},{label: ‘Purok III’, y:2}]
When this is replaced with response renders the chart successfully. However passing response to datapoints gives the error. This is my Javascript. Any help?
$(‘#barangay-list’).click(function() {
var barangay_id = $(this).val()
console.info(barangay_id)
$.ajax({
url: ‘../classes/main.php’,
type: ‘POST’,
data: {
‘population-chart’: 1,
‘barangay_id’: barangay_id
},
async: true,
dataType: ‘JSON’,
success: function(response, data) {
var chart = new CanvasJS.Chart(“chartContainer”, {
theme: “light2”,
zoomEnabled: true,
animationEnabled: true,
animationEnabled: true,
axisX: {
title: “Street Name”,
gridThickness: .9,
lineThickness: .9,
titleFontSize: 14,
labelFontSize: 12,
},
axisY: {
includeZero: true,
title: “Number of Population”,
gridThickness: .9,
lineThickness: .9,
titleFontSize: 14,
labelFontSize: 12
},
toolTip: {
shared: “true”
},
legend: {
cursor: “pointer”,
itemclick: toggleDataSeries,
verticalAlign: “bottom”,
horizontalAlign: “center”
},
data: [{
type: “spline”,
showInLegend: true,
name: “Populaltion Number”,
dataPoints: response.msg
}]
});
chart.render();
function toggleDataSeries(e) {
if (typeof(e.dataSeries.visible) === “undefined” || e.dataSeries.visible) {
e.dataSeries.visible = false;
} else {
e.dataSeries.visible = true;
}
chart.render();
}
},
// Error Handler
error: function(xhr, textStatus, error) {
console.info(xhr.responseText);
}
});
});