У меня есть вопрос о том, как обновить диаграмму Chart.js через ajax и JSON. Я пытался и читал ТАК вопросы, но я столкнулся с проблемой, где CHart.js Cannot read property 'length' of undefined
Вот мой скрипт cshtml chart.js:
<script>
$(document).ready(function () {
var ctx = document.getElementById('myChart').getContext('2d');
var chart = new Chart(ctx, {
// The type of chart we want to create
type: 'line',
// The data for our dataset
data: {
labels: ['January', 'February', 'March', 'April', 'May', 'June', 'July'],
datasets: [{}]
},
// Configuration options go here
options: {}
});
$("button").click(function () {
$.ajax({
type: "GET",
url: '@Url.Action("GetChartData", "Plot")',
dataType: 'json',
success: function (result) {
alert(JSON.stringify(result));
chart.data = result;
chart.update();
}
});
});
});
</script>
А вот и мой контроллер:
public JsonResult GetChartData()
{
List<String> datList = new List<string>();
dataList.Add("1");
dataList.Add("2");
dataList.Add("3");
dataList.Add("4");
dataList.Add("5");
string output = new JavaScriptSerializer().Serialize(dataList);
return Json(output, JsonRequestBehavior.AllowGet);
}
А вот скриншот консоли браузера:
На этом рисунке вы видите ответ JSON (не уверен, что это проблема) и ошибку Chart.js.
Спасибо за помощь!