javascript - 无法将数组显示到图表中

标签 javascript jquery arrays ajax highcharts

我在使用 Highcharts 和 ajax 时遇到问题..

我正在创建一个数据源来为highcharts提供一个数组..

这是数据源

function reportPertanyaan1()
{
    $result = [];
    $this->load->model("surveymodel");
    for ($point=1; $point <=10 ; $point++) { 
        array_push($result, $this->surveymodel->GetData("1",$point));
    }

    echo json_encode($result);
}

这是接收数组的ajax代码

$.ajax({
    url: site_url+"datasource/reportPertanyaan1",
    success: function(data){
        console.log(data);
        pertanyaan1(data);
    }
});

console.log(data) 中,我得到了这种数组 [2,1,0,1,1,0,1,0,0,0]

然后,从该 ajax 中,我调用 pertanyaan1 函数。这是代码

function pertanyaan1(jawaban){
    $('#container1').highcharts({
        chart: {
            type: 'line'
        },
        title: {
            text: ''
        },
        xAxis: {
            categories: ['1', '2', '3','4', '5', '6','7', '8', '9','10']
        },
        yAxis: {
            title: {
                text: 'Banyak Data'
            }
        },
        series: [{
            name: 'Pertanyaan 1',
            data: jawaban
        }],
    });
}

并且代码未显示图表。但它是 xAxis 标签的两倍,如下所示

enter image description here

但是,当我将 data: jamaban 替换为 data: [2,1,0,1,1,0,1,0,0,0].图表可以显示数据..

如有任何帮助

最佳答案

实际上,您是从 ajax 调用中获取 JSON 的。您需要将其定义为 Js 对象。并且不要将数据作为数组发送。将您的数据作为对象发送。

试试这个:

$data= [];
$this->load->model("surveymodel");
for ($point=1; $point <=10 ; $point++) { 
    array_push($data, $this->surveymodel->GetData("1",$point));
}

$result = new stdClass();
$result->data = $data;
echo json_encode($result);

并获取如下数据:

$.ajax({
    url: site_url+"datasource/reportPertanyaan1",
    success: function(result){
        var resultData = JSON.parse(result);
        pertanyaan1(resultData.data);
    }
});

关于javascript - 无法将数组显示到图表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39827572/

相关文章:

javascript - JQuery - 在类选择器中使用多个变量

javascript - 如何将查询翻译为 Sequelize ?

javascript - 根据单击的类别过滤器隐藏/显示 li 项

javascript - 样式化 HTML 下拉列表

perl - %ICN 和 @INC 有什么区别?

c++ - C++ 中的二维数组

javascript - 通过 for 循环中的拼接从数组中删除项目

javascript - Rails 表单通过 ajax post 提交,不调用成功或错误回调函数

javascript - Backbone 丢弃事件不起作用

javascript - 将函数添加到 $ (jQuery)