Javascript 实时数据将不会加载到HighCharts gauge中

Javascript 实时数据将不会加载到HighCharts gauge中,javascript,highcharts,live,gauge,Javascript,Highcharts,Live,Gauge,我正在试着做一张仪表图。 图表显示80,但实时数据不起作用。 我使用以下代码: $(function () { var chart = new Highcharts.Chart({ chart: { renderTo: 'container', type: 'gauge', plotBackgroundColor: null, plotBackgroundImage: null,

我正在试着做一张仪表图。 图表显示80,但实时数据不起作用。 我使用以下代码:

$(function () {

var chart = new Highcharts.Chart({

        chart: {
            renderTo: 'container',
            type: 'gauge',
            plotBackgroundColor: null,
            plotBackgroundImage: null,
            plotBorderWidth: 0,
            plotShadow: false
        },

        title: {
            text: 'Speedometer'
        },

        pane: {
            startAngle: -150,
            endAngle: 150,
            background: [{
                backgroundColor: {
                    linearGradient: { x1: 0, y1: 0, x2: 0, y2: 1 },
                    stops: [
                        [0, '#FFF'],
                        [1, '#333']
                    ]
                },
                borderWidth: 0,
                outerRadius: '109%'
            }, {
                backgroundColor: {
                    linearGradient: { x1: 0, y1: 0, x2: 0, y2: 1 },
                    stops: [
                        [0, '#333'],
                        [1, '#FFF']
                    ]
                },
                borderWidth: 1,
                outerRadius: '107%'
            }, {
                // default background
            }, {
                backgroundColor: '#DDD',
                borderWidth: 0,
                outerRadius: '105%',
                innerRadius: '103%'
            }]
        },

        // the value axis
        yAxis: {
            min: 0,
            max: 200,

            minorTickInterval: 'auto',
            minorTickWidth: 1,
            minorTickLength: 10,
            minorTickPosition: 'inside',
            minorTickColor: '#666',

            tickPixelInterval: 30,
            tickWidth: 2,
            tickPosition: 'inside',
            tickLength: 10,
            tickColor: '#666',
            labels: {
                step: 2,
                rotation: 'auto'
            },
            title: {
                text: 'km/h'
            },
            plotBands: [{
                from: 0,
                to: 120,
                color: '#55BF3B' // green
            }, {
                from: 120,
                to: 160,
                color: '#DDDF0D' // yellow
            }, {
                from: 160,
                to: 200,
                color: '#DF5353' // red
            }]        
        },

        series: [{
            name: 'Speed',
            data: [80],
            tooltip: {
                valueSuffix: ' km/h'
            }
        }]

    },
    // Add some life
function (chart) {
    setInterval(function() {
    $(function() {
    $.getJSON("livedata.php", function(data) {
        $.each(data, function(key, val) {
        if (key == 'Gas')
        {
        newVal = val;
        var point = chart.series[0].points[0];
        point.update(newVal);
        }
        });
    });
    }, "json");
}, 3000);
})
});
我的简单测试livedata.php如下所示:

// Set the JSON header
header("Content-type: text/json");

// The y value is a random number
$x = "Gas";
$y = rand(10, 100);

// Create a PHP array and echo it as JSON
$ret = array($x, $y);
echo json_encode($ret, JSON_NUMERIC_CHECK);
谁能告诉我出了什么问题吗?
如何测试函数是否被调用?

如何测试livedata是否已通过?

在$.getJSON(“livedata.php”)行中的“data”变量中,您收到了什么?如果我发出警报(“receivedData:+data”),我会得到:Gas,65。所以我接收数据?我是说console.log(数据);你的意思是:uncaughttypeerror:无法读取未定义jquery.min.js:2 p.extend.each jquery.min.js:2$.ajax.success gauge3.php:120k jquery.min.js:2 l.fireWith jquery.min.js:2 y jquery.min.js:2 dNo,我的意思是我需要数据中接收的内容,但在调用ajax之后。所以请粘贴console.log(数据);您应该接收一个包含数据的对象。