Javascript 从ajax返回数组
我在Chartjs上工作,并从ajax中获取json:Javascript 从ajax返回数组,javascript,json,chart.js,Javascript,Json,Chart.js,我在Chartjs上工作,并从ajax中获取json: var myData = []; $.ajax({ method: "GET", cache: false, url: "charts/applieschart.php", success: function (data) { myData = data; } }); 接下来,在两个不同的数组上解析它们: var chartjsLabel = [];
var myData = [];
$.ajax({
method: "GET",
cache: false,
url: "charts/applieschart.php",
success: function (data) {
myData = data;
}
});
接下来,在两个不同的数组上解析它们:
var chartjsLabel = [];
var chartjsData = [];
for (var i = 0; i < myData.length; i++) {
chartjsData.push(myData[i].count);
chartjsLabel.push(myData[i].date);
}
看起来不错,但不起作用。我的json数据如下所示:
[{"date":"12.2014","count":"62"},{"date":"11.2014","count":"58"}]
如果我在myData
变量中将ajax替换为clear json,则:
var myData = [{"date":"12.2014","count":"62"},{"date":"11.2014","count":"58"}];
它工作得很好。我做错了什么
您不能从ajax
返回,因为它本质上是异步的
,请使用callback
函数或在ajax成功处理程序中初始化barChartData
试试这个:
$.ajax({
方法:“获取”,
cache:false,
url:“charts/applieschart.php”,
成功:函数(myData){
var chartjsLabel=[];
var chartjsData=[];
对于(var i=0;i
检查方法的执行顺序。在执行与myData相关的数据时,myData可能尚未填充,因此无法填充。检查jQuery中ajax方法的用法,并链接您的方法,或者检查Rayon Dabre回调解决方案。
var myData = [{"date":"12.2014","count":"62"},{"date":"11.2014","count":"58"}];