这是我的第一篇文章,但我很高兴能加入这个社区。我有一个关于 JavaScript 的问题,我完全被难住了。
我正在编写一个 JavaScript 应用程序,它使用 ajax 从服务器中提取数据并将其添加到图表中。我使用 Jquery 和 Highcharts 作为框架,然后围绕 Highcharts 编写我自己的 JavaScript“包装器”来生成界面。
当使用 jSON 响应回调 processData 函数时,它以 i=1 开始,即使 i 甚至不应该被初始化甚至声明。其他变量也被设置。(我通过使用 chrome 开发人员工具进行调试知道这一点)。这使我的循环无法执行,并且我的任何数据都不会添加到图表中。
我不知道要显示多少代码,但这些是最相关的部分。如果需要,我可以添加更多。
function getData(series, min, max, numpts) {
        if (series === undefined) {
            console.log("error on getData");
            return;
        }
        var request = {};
        request.series = series;
        if (min !== undefined) {
            request.start = min;
        } //in seconds
        if (max !== undefined) {
            request.end = max;
        } 
        if (numpts !== undefined) {
            request.numpts = numpts;
        }
        $.getJSON('/data', request, processData);
        return;
    }
    function processData(data) {
        // handle the data after it comes back from an ajax request
        var curSeries,
            chartSeries,
            curPoint;
        for (var i = 0; i < data.length; i ++) {
            curSeries = data[i];
            chartSeries = chart.get(curSeries.name);
            if (chartSeries === null) {
                //alert("oops");
                chart.addSeries(curSeries);
            } else {
                for (var j = 0; j < curSeries.data.length; j ++) {
                    curPoint = curSeries.data[j];
                    chartSeries.addPoint(curPoint, false);
                }
            }
        }
        chart.redraw();
    }
这两种方法都是我声明的名为 graph 的类的方法。
谢谢,如果有人有任何想法!-马特 P