Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/433.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 Highcharts加载数据而不打印_Javascript_Json_Highcharts - Fatal编程技术网

Javascript Highcharts加载数据而不打印

Javascript Highcharts加载数据而不打印,javascript,json,highcharts,Javascript,Json,Highcharts,我试图将数据动态加载到Highcharts中,但遇到了问题。我尝试了很多方法,数据似乎被加载到JS中,但图形没有绘制出来 目前,这是我在jQuery的文档就绪函数中的代码: options = { chart: { renderTo: 'container', zoomType: 'x', animation: true, }, title: { text: null }, subtitle:

我试图将数据动态加载到Highcharts中,但遇到了问题。我尝试了很多方法,数据似乎被加载到JS中,但图形没有绘制出来

目前,这是我在jQuery的
文档就绪
函数中的代码:

options = {
    chart: {
        renderTo: 'container',
        zoomType: 'x',
        animation: true,
    },
    title: {
        text: null
    },
    subtitle: {
        text: null
    },
    xAxis: {
        type: 'datetime',
        title: {
            text: null
        },
    },
    yAxis: {
        title: {
            text: 'Size',
        },
    },
    legend: {
        enabled: false
    },

   series: [{
        data: []
    }]
}

$.ajax({
        type: "GET",
        url: "works/load_data.php",
        data: "id=3&mdate=2012-02&mxdate=2012-03",
        success: function (items) {

            var obj = eval(items).load;
            var series = { data: [] };

            $.each(obj, function (itemNo, item) {
                series.data.push(item);
            });

            options.series.push(series);

        },
        cache: false,
});
var chart = new Highcharts.Chart(options);
图表上什么也没发生。但如果我登录到控制台图表选项,我会得到以下结果:

我的PHP会像这样回显数据:
data={load:[{x:Date.UTC(2012,2,1,7,15),y:0.012},{x:Date.UTC(2012,2,1,7,30),y:0.068}…]}


至少对我来说似乎还可以。但它不起作用:(有人能告诉我我做错了什么吗?)谢谢。

AJAX是异步的,这意味着调用发生在您渲染图表之后。尝试在成功事件之后粘贴图表创建,如下所示:

$.ajax({
        type: "GET",
        url: "works/load_data.php",
        data: "id=3&mdate=2012-02&mxdate=2012-03",
        success: function (items) {

            var obj = eval(items).load;
            var series = { data: [] };

            $.each(obj, function (itemNo, item) {
                series.data.push(item);
            });

            options.series.push(series);


            var chart = new Highcharts.Chart(options);

        },
        cache: false,
});

有些实时演示总是很方便:)。@Styxxy很难,因为ajax get请求。@TCB13没问题。顺便说一下,你不应该使用EVE(查找“EVE是邪恶的”),而应该考虑JSON.PARSER()。