Я использую Chart.js (http://www.chartjs.org/docs/) для создания диаграмм.Нарисуйте Chart.js с данными ajax и реагируйте. Несколько проблем и вопросов
Мне нужно получить данные из запроса Ajax и диаграммы, чтобы быть отзывчивыми.
В моем HTML код, который я добавил холст следующим образом:
<div>
<canvas id="userscreated" class="plot" data-url="/stats/userscreated"></canvas>
</div>
И в моем яваскрипта коде (JQuery) У меня есть:
var data2;
$.ajax({
url: $('#userscreated').data('url'),
async: true,
dataType: 'json',
type: "get",
}).done(function (data) {
data2 = data;
// Draw chart
var context = $('#userscreated').get(0).getContext("2d");
var wrapper = $('#userscreated').parent();
var width = $('#userscreated').attr('width', $(wrapper).width());
new Chart(context).Line(
{
labels: data.Dates,
datasets: [
{ fillColor: #404040, data: data.Users }
]
},
{ animation: false }
);
});
// Redraw the chart with the same data
$(window).resize(function() {
var context = $('#userscreated').get(0).getContext("2d");
var wrapper = $('#userscreated').parent();
var width = $('#userscreated').attr('width', $(wrapper).width());
new Chart(context).Line(
{
labels: data2.Dates,
datasets: [
{ fillColor: #404040, data: data2.Users }
]
},
{ animation: false }
);
});
ПРОБЛЕМЫ
Диаграмма не изменяется при изменении размера окна.
Есть ли лучший код для этого? Я думаю, что повторяю много кода.
В Google рисунок выполняется быстро. В firefox иногда он висит на некоторое время. Что-то не так с моим кодом?
Если запрос был асинхронным или нет?
Спасибо, Miguel
Heres статью с AJAX HTTP данных: // codepedia.info/2015/04/chartjs-asp-net-create-pie-chart-with-database-calling-jquery-ajax-c/ –