'use strict';
$(function () {
var MyValues = []; //--> for Data
function myArraysValues() {
$.ajax({
url: '/AdminLte/TestArray',
type: 'Get',
dataType: 'json',
data: { test: 'Client_Call' },
success: function (data) {
for (var i = 0; i < 8; i++) {
MyValues.push(data[i]);
}
},
error: function (data) {
alert("error");
},
})
return MyValues;
}
});
//alert(MyValues);
var salesChartData = {
labels: MyLabels,
datasets: [
{
label: "Erledigt",
fillColor: "rgb(0, 102, 0)",
strokeColor: "rgb(0, 102, 0)",
pointColor: "rgb(0, 102, 0)",
pointStrokeColor: "#66ff33",
pointHighlightFill: "#66ff33",
pointHighlightStroke: "rgb((0, 102, 0)",
data: MyValues
},
这是我的代码。 myArraysValues()函数如何自动执行? 它适用于ChartJS(SalesChart)。 当添加警报(MyValues)时,它可以工作,如果我得到它,它就不会 感谢
答案 0 :(得分:0)
我不确定你自动执行的意思,如果你想在页面加载时执行它,你可以在文档$(function () {
getDataFromServerAndRenderChart();
});
function getDataFromServerAndRenderChart()
{
$.ajax({
url: '/AdminLte/TestArray',
type: 'Get',
dataType: 'json',
data: { test: 'Client_Call' },
success: function (data) {
var myValues=[];
for (var i = 0; i < 8; i++) {
myValues.push(data[i]);
}
// use myValues array to initialize the chart HERE
}
})
}
事件中调用自定义代码/方法。但请确保执行代码以在ajax成功处理程序中呈现图表,因为异步调用中的数据将在其中可用,您可以安全地访问它。
{{1}}
此外,看起来你硬编码执行你的循环运行8次。我希望来自服务器的数据是一个至少有8个项目的数组,这样你的代码就不会崩溃。