Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在js折线图中获得两个输出JSON对象?_Javascript_Json_Charts - Fatal编程技术网

Javascript 如何在js折线图中获得两个输出JSON对象?

Javascript 如何在js折线图中获得两个输出JSON对象?,javascript,json,charts,Javascript,Json,Charts,我想在Chart.js折线图中显示两条线。数据库中所需的数据有一个包含2个对象的JSON文件 现在我想在折线图中显示它们。如果我只想显示一个数据集,这是没有问题的。当同时显示两行时,我不知道该怎么办。我试图调用对象,然后输出它们,但输出总是未定义的 我做错了什么 错误: Cannot read property 'current_week' of undefined {"current":[{"current_week":23},{"curre

我想在Chart.js折线图中显示两条线。数据库中所需的数据有一个包含2个对象的JSON文件

现在我想在折线图中显示它们。如果我只想显示一个数据集,这是没有问题的。当同时显示两行时,我不知道该怎么办。我试图调用对象,然后输出它们,但输出总是未定义的

我做错了什么

错误:

Cannot read property 'current_week' of undefined
{"current":[{"current_week":23},{"current_week":636},{"current_week":237}],"last":[{"last_week":235},{"last_week":74},{"last_week":737},{"last_week":767},{"last_week":546},{"last_week":73},{"last_week":453}]}
$(document).ready(function() {
  $.ajax({
    url : "http://localhost/r6team-new/admin/includes/stats/website-weekly-stats.php",
    type : "GET",
    success : function(data) {
      console.log(data);

      var current_week = [];
      var last_week = [];

      for(var i in data) {
        current_week.push(data.current[i].current_week);
        last_week.push(data.last[i].last_week);
      }

      console.log(current_week);
      console.log(last_week);

      var visitorsChart = {
        labels: ['MO', 'DI', 'MI', 'DO', 'FR', 'SA', 'SO'],
        datasets: [{
          type                : 'line',
          data                : current_week,
          backgroundColor     : 'transparent',
          borderColor         : '#007bff',
          pointBorderColor    : '#007bff',
          pointBackgroundColor: '#007bff',
          fill                : false
        },
        {
          type                : 'line',
          data                : last_week,
          backgroundColor     : 'tansparent',
          borderColor         : '#ced4da',
          pointBorderColor    : '#ced4da',
          pointBackgroundColor: '#ced4da',
          fill                : false
        }]
      };

      var ctx = $("#visitors-chart");

      var LineGraph = new Chart(ctx, {
        data: visitorsChart,
      });
    
    },
  });
});
JSON输出:

Cannot read property 'current_week' of undefined
{"current":[{"current_week":23},{"current_week":636},{"current_week":237}],"last":[{"last_week":235},{"last_week":74},{"last_week":737},{"last_week":767},{"last_week":546},{"last_week":73},{"last_week":453}]}
$(document).ready(function() {
  $.ajax({
    url : "http://localhost/r6team-new/admin/includes/stats/website-weekly-stats.php",
    type : "GET",
    success : function(data) {
      console.log(data);

      var current_week = [];
      var last_week = [];

      for(var i in data) {
        current_week.push(data.current[i].current_week);
        last_week.push(data.last[i].last_week);
      }

      console.log(current_week);
      console.log(last_week);

      var visitorsChart = {
        labels: ['MO', 'DI', 'MI', 'DO', 'FR', 'SA', 'SO'],
        datasets: [{
          type                : 'line',
          data                : current_week,
          backgroundColor     : 'transparent',
          borderColor         : '#007bff',
          pointBorderColor    : '#007bff',
          pointBackgroundColor: '#007bff',
          fill                : false
        },
        {
          type                : 'line',
          data                : last_week,
          backgroundColor     : 'tansparent',
          borderColor         : '#ced4da',
          pointBorderColor    : '#ced4da',
          pointBackgroundColor: '#ced4da',
          fill                : false
        }]
      };

      var ctx = $("#visitors-chart");

      var LineGraph = new Chart(ctx, {
        data: visitorsChart,
      });
    
    },
  });
});
JS Chart.JS代码:

Cannot read property 'current_week' of undefined
{"current":[{"current_week":23},{"current_week":636},{"current_week":237}],"last":[{"last_week":235},{"last_week":74},{"last_week":737},{"last_week":767},{"last_week":546},{"last_week":73},{"last_week":453}]}
$(document).ready(function() {
  $.ajax({
    url : "http://localhost/r6team-new/admin/includes/stats/website-weekly-stats.php",
    type : "GET",
    success : function(data) {
      console.log(data);

      var current_week = [];
      var last_week = [];

      for(var i in data) {
        current_week.push(data.current[i].current_week);
        last_week.push(data.last[i].last_week);
      }

      console.log(current_week);
      console.log(last_week);

      var visitorsChart = {
        labels: ['MO', 'DI', 'MI', 'DO', 'FR', 'SA', 'SO'],
        datasets: [{
          type                : 'line',
          data                : current_week,
          backgroundColor     : 'transparent',
          borderColor         : '#007bff',
          pointBorderColor    : '#007bff',
          pointBackgroundColor: '#007bff',
          fill                : false
        },
        {
          type                : 'line',
          data                : last_week,
          backgroundColor     : 'tansparent',
          borderColor         : '#ced4da',
          pointBorderColor    : '#ced4da',
          pointBackgroundColor: '#ced4da',
          fill                : false
        }]
      };

      var ctx = $("#visitors-chart");

      var LineGraph = new Chart(ctx, {
        data: visitorsChart,
      });
    
    },
  });
});
你的循环不正确

var current_week = [];
var last_week = [];

for(var i in data["current_week"]) {
   current_week.push(i["current_week"]);
}

for(var i in data["last_week"]) {
   last_week.push(i["last_week"]);
}

或者让它更容易

$(document).ready(function() {
  $.ajax({
    url : "http://localhost/r6team-new/admin/includes/stats/website-weekly-stats.php",
    type : "GET",
    success : function(data) {
      var visitorsChart = {
        labels: ['MO', 'DI', 'MI', 'DO', 'FR', 'SA', 'SO'],
        datasets: [{
          ...
          //current_week
          data: data["current"].map(d => d["current_week"])
        },
        {
         ...
          //last_week
          data: data["last"].map(d => d["last_week"]) 
        }]
      };

      var ctx = $("#visitors-chart");

      var LineGraph = new Chart(ctx, {
        data: visitorsChart
      });
    
    },
  });
});

请为此创建一个代码笔好吗?您确定您正在获取此行当前\u week.push(data.current[i].current\u week)上的数据吗;