Php jquery中的返回类型数组

Php jquery中的返回类型数组,php,jquery,arrays,codeigniter,highcharts,Php,Jquery,Arrays,Codeigniter,Highcharts,我在codeigniter函数中有和ajax请求,我只是像这样回显结果数组echo json\u encode($array)。我想做的是捕获ajax的返回值,作为一个数组,我将在图表中使用它(我使用Highcharts)作为一个系列。但此代码不会发生任何变化: var data2 = []; url = base_url+"/codeigniter/index.php/AssistanceMonitoringModule/assistanceMonitoring/getSeri

我在codeigniter函数中有和ajax请求,我只是像这样回显结果数组
echo json\u encode($array)
。我想做的是捕获ajax的返回值,作为一个数组,我将在图表中使用它(我使用Highcharts)作为一个系列。但此代码不会发生任何变化:

    var data2 = [];
    url = base_url+"/codeigniter/index.php/AssistanceMonitoringModule/assistanceMonitoring/getSeries";

        $.ajax(
        {
        type: "GET",
        url: url,
        data: "query="+query,
        success: function(data){
            alert(data);
            //data2 = data;
        },
        dataType: "json",
        error: function (xhr, ajaxOptions, thrownError) {
            alert("XHR:"+xhr.status+"Error:"+thrownError);
          }

        });
这就是我在HIghchart中所说的:

$('#columnChart').highcharts({
            chart: {
                type: 'column'
            },
            title: {
                text: 'Fruit Consumption'
            },
            xAxis: {
                categories: ['May 01', 'May 02', 'May 03', 'May 04', 'May 05', 'May 06', 'May 07', 'May 08', 'May 09', 'May 10', 'May 11', 'May 12', 'May 13', 'May 14','May 15','May 16', 'May 17', 'May 18', 'May 19', 'May 20']
            },
            yAxis: {
                title: {
                    text: 'Fruit eaten'
                }
            },
            series: data2
        });

我使用data2作为数组,因为我说过什么都不会发生。:)感谢您的帮助。

您可以定义新函数来初始化并调用Success ajax上的
highcharts
插件, 这样试试

  $.ajax(
    {
    type: "GET",
    url: url,
    data: "query="+query,
    success: function(data){
        //alert(data);
        //data2 = data;
        callHighChart(data);
    },
    dataType: "json",
    error: function (xhr, ajaxOptions, thrownError) {
        alert("XHR:"+xhr.status+"Error:"+thrownError);
      }

    });

function callHighChart(data){
         $('#columnChart').highcharts({
            chart: {
                type: 'column'
            },
            title: {
                text: 'Fruit Consumption'
            },
            xAxis: {
                categories: ['May 01', 'May 02', 'May 03', 'May 04', 'May 05', 'May 06', 'May 07', 'May 08', 'May 09', 'May 10', 'May 11', 'May 12', 'May 13', 'May 14','May 15','May 16', 'May 17', 'May 18', 'May 19', 'May 20']
            },
            yAxis: {
                title: {
                    text: 'Fruit eaten'
                }
            },
            series: data // ajax response;
        });
}

这是因为只有在ajax成功调用后才会填充数据。我是否有一个后续问题,如果我已经提供了图表所需的数据,如标题、xAxis、yAxis和系列信息,但我想执行多个ajax请求并仅调用callHighChart()函数,该怎么办?这是可能的,因为类别实际上不是一个常量。我试图声明全局变量,但不起作用。您应该在
callHighChart(data,category,…,n)
函数中传递多个参数,并将它们用于highChart插件如果是这样,我不能在传递数据之前使用多个ajax来准备数据?因为当我将数据存储到空变量并在ajax的结束冒号后调用函数时,我的图表没有响应。