未捕获(承诺)错误:第1行有42列,但必须有2列

问题描述 投票:1回答:1

我正在为我的项目使用google条形图,并且我创建了一个ajax函数来向图表中加载数据。但是当我使用jquery的每个函数在google图表中创建数据栏时,其获取错误称为Uncaught (in promise) Error: Row 1 has 42 columns, but must have 2。任何人都可以向我显示代码中的错误吗

这是我的图表代码

//chart 2
google.charts.load('current', {
  'packages': ['bar']
});
google.charts.setOnLoadCallback(drawChart1);

function drawChart1() {
  var dataa1 = google.visualization.arrayToDataTable([
    ['DS Division', 'No of Youths'],
    $.each(data.locations, function(index, value3) {
      ['' + value3.DSD_Name + '', value3.total]

    }),

  ]);

  var options1 = {
    chart: {

    },
    bars: 'horizontal', // Required for Material Bar Charts.

    legend: {
      position: 'none'
    },
  };

  var chart1 = new google.charts.Bar(document.getElementById('barchart_material'));

  chart1.draw(dataa1, google.charts.Bar.convertOptions(options1));
}

这是我来自控制器的响应数据

return response() => json(array(
  'male' => $male,
  'female' => $female,
  'locations' => $locations,
  'salary1' => $salary1,
  'salary2' => $salary2,
  'salary3' => $salary3,
  'salary4' => $salary4,
  'salary5' => $salary5,
  'salary6' => $salary6,
  'employers' => $employers
));

[请帮助我解决这个问题

谢谢

javascript json ajax laravel-5 google-visualization
1个回答
1
投票

而不是尝试在数组声明中循环,使用循环将值添加到数组中...

var chartData = [
  ['DS Division', 'No of Youths'],
];

$.each(data.locations, function(index, value3) {
  chartData.push([value3.DSD_Name, value3.total]);
});

var dataa1 = google.visualization.arrayToDataTable(chartData);
© www.soinside.com 2019 - 2024. All rights reserved.