0

嗨,我正在尝试以这种方式重新加载 Highcharts 馅饼:

$("#Actualizar").click(function(){

        $.ajax({
            url:'ajax/core/Ajax_Request.php',
            type:'POST',
            dataType:'json',
            data:{
                    AppRequest:'Dashboard/htmlPies',
                    params: { 'params':{'orden':'orden'}}
            },
            success:function (result) {
                chart.series[0].setData(result);
            }
        });
    });

在服务器端我有这个。

    $resultado=array(100, 1000, 400, 200);
    echo json_encode($resultado);

它正在工作,但我想要的是像这样添加 this.point.name

    $resultado=array('a'=>100, 'b'=>1000, 'c'=>400, 'd'=>200);
    echo json_encode($resultado);

现在它什么也没画。

填充数据的原始js是这样的

                data: [
                    ['Firefox',   45.0],
                    ['IE',       26.8],
                    ['Chrome',       12.8],
                    ['Safari',    8.5],
                    ['Opera',     6.2],
                    ['Others',   0.7]
                ]

谢谢。

4

1 回答 1

1

请注意,您data在 JavaScript 中是一个包含大量两个项目数组的数组。在 PHP 中模仿这个:

$resultado=array(array('a', 100), array('b', 1000), array('c', 400), array('d', 200));

更有可能的是,您需要循环执行此操作,例如:

$resultado = array();
$dataItems = array('a'=>100, 'b'=>1000, 'c'=>400, 'd'=>200);
foreach ($dataItems as $key => $value) {
    $resultado[] = array($key, $value);
}

可能有一种更有效的方法可以在您的代码中更早地执行此操作,并适当地构建数据结构。. .

于 2013-07-19T18:48:59.877 回答