Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/364.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 如何通过变量将JSON传递给highchart热图数据标记?_Javascript_Arrays_Json_Highcharts - Fatal编程技术网

Javascript 如何通过变量将JSON传递给highchart热图数据标记?

Javascript 如何通过变量将JSON传递给highchart热图数据标记?,javascript,arrays,json,highcharts,Javascript,Arrays,Json,Highcharts,我有以下生成字符串的代码。我希望将此发送到highcharts的数据标记以渲染热图 function getData() { $.ajax({ type: "GET", url: "http://localhost:5000/renderheatmap", dataType: 'json' }).done(function (jsonData) { for (var i = 0; i < jsonData.length; i++) { fetched_data.

我有以下生成字符串的代码。我希望将此发送到highcharts的数据标记以渲染热图

  function getData() {
$.ajax({
  type: "GET",
  url: "http://localhost:5000/renderheatmap",
  dataType: 'json'
}).done(function (jsonData) {
  for (var i = 0; i < jsonData.length; i++) {
    fetched_data.push(JSON.stringify(jsonData[i]))
}  
document.getElementById('test_div').innerHTML = "["+fetched_data+"]";

    final_data = "["+fetched_data+"]";


});
虽然这样做有效:

  series: [{
    name: 'Sales per employee',
    borderWidth: 1,
    data: [[0,0,39],[0,1,39],[0,2,39],[0,3,39],[0,4,39],[0,5,39],[0,6,39],[0,7,39],[0,8,39],[0,9,39],[0,10,39],[0,11,39],[1,0,69],[1,1,69],[1,2,69],[1,3,71],[1,4,72],[1,5,72],[1,6,73],[1,7,73],[1,8,73],[1,9,73],[1,10,73],[1,11,74],[2,0,84],[2,1,84],[2,2,84],[2,3,84],[2,4,84],[2,5,84],[2,6,84],[2,7,84],[2,8,84],[2,9,83],[2,10,83],[2,11,84],[3,0,69],[3,1,69],[3,2,69],[3,3,69],[3,4,70],[3,5,72],[3,6,71],[3,7,70],[3,8,67],[3,9,64],[3,10,63],[3,11,63],[4,0,60],[4,1,60],[4,2,62],[4,3,62],[4,4,61],[4,5,60],[4,6,56],[4,7,55],[4,8,49],[4,9,41],[4,10,36],[4,11,34],[5,0,45],[5,1,45],[5,2,41],[5,3,40],[5,4,38],[5,5,33],[5,6,22],[5,7,21],[5,8,20],[5,9,14],[5,10,10],[5,11,10],[6,0,26],[6,1,23],[6,2,15],[6,3,10],[6,4,10],[6,5,10],[6,6,8],[6,7,7],[6,8,7],[6,9,7],[6,10,6],[6,11,5],[7,0,6],[7,1,6],[7,2,6],[7,3,3],[7,4,3],[7,5,3],[7,6,2],[7,7,2],[7,8,2],[7,9,2],[7,10,0],[7,11,0],[8,0,2],[8,1,1],[8,2,1],[8,3,1],[8,4,0],[8,5,0],[8,6,0],[8,7,0],[8,8,0],[8,9,0],[8,10,0],[8,11,0],[9,0,0],[9,1,0],[9,2,0],[9,3,0],[9,4,0],[9,5,0],[9,6,0],[9,7,0],[9,8,0],[9,9,0],[9,10,0],[9,11,0]],

    dataLabels: {
       enabled: true,
        color: '#000000'
    }
}]
我哪里做错了?
如何将最终数据传递给序列?

不是传递
最终数据的
数组
,而是作为
字符串传递,因此它不起作用

 var fetched_data = [];

function getData() {
    $.ajax({
        type: "GET",
        url: "http://localhost:5000/renderheatmap",
        dataType: 'json'
    }).done(function(jsonData) {
        for (var i = 0; i < jsonData.length; i++) {
            fetched_data.push(jsonData[i])
        }
      //  document.getElementById('test_div').innerHTML = fetched_data;

      //  final_data = new Array(fetched_data);

        Highcharts.chart('yourid', {

            series: [{
                name: 'Sales per employee',
                borderWidth: 1,

                data: fetched_data,

                dataLabels: {
                    enabled: true,
                    color: '#000000'
                }
            }]

        });


    });

} 
var获取的_数据=[];
函数getData(){
$.ajax({
键入:“获取”,
url:“http://localhost:5000/renderheatmap",
数据类型:“json”
}).done(函数(jsonData){
对于(var i=0;i

希望这段代码有帮助

您好@Ashesh Das,我认为您的问题可能与JS中的异步有关。您必须在收到数据后创建一个图表-检查此示例:非常感谢!这很好用@非常感谢!我被困在这很长一段时间:)你必须在加载数据后初始化高位图表,请参阅更新的代码!对不起,迟了答复。这种方法似乎仍然不起作用:(@AsheshDas在这里创建一个提琴和链接plsI使用这个提琴来解决问题:jsfiddle.net/BlackLabel/l50mr8所以非常感谢Ravi的帮助。它帮助我从不同的角度看待这个问题。非常感谢!
 var fetched_data = [];

function getData() {
    $.ajax({
        type: "GET",
        url: "http://localhost:5000/renderheatmap",
        dataType: 'json'
    }).done(function(jsonData) {
        for (var i = 0; i < jsonData.length; i++) {
            fetched_data.push(jsonData[i])
        }
      //  document.getElementById('test_div').innerHTML = fetched_data;

      //  final_data = new Array(fetched_data);

        Highcharts.chart('yourid', {

            series: [{
                name: 'Sales per employee',
                borderWidth: 1,

                data: fetched_data,

                dataLabels: {
                    enabled: true,
                    color: '#000000'
                }
            }]

        });


    });

}