JScript JSON数组访问

时间:2011-06-01 20:50:21

标签: javascript ajax json

我有一个存储在文件data.json中的JSON数组 - 我使用了此处推荐的类似问题的代码,解释了为什么当我尝试在程序中稍后访问数组时它告诉我它是未定义的。< / p>

    var chartData = (function () {
                var chartData = null;
                $.ajax({
                    'async': false,
                    'global': false,
                    'url': "data.json",
                    'dataType': "json",
                    'success': function (data) {
                        chartData = data;
                    }
             });
             return chartData;
        })();

帮助表示赞赏!

编辑;为了访问,我在dojo图表中使用数组作为系列:http://dojotoolkit.org/grids-charts

在我尝试初始化var chartData之后,我使用它的唯一另一点是:

    chart.addSeries("Name",chartData);

编辑#2;如果重要,data.json文件的格式如下:

    [#, #, #, ... , #]

2 个答案:

答案 0 :(得分:1)

我想它应该以你设置async: false的方式工作。但最好是异步使用它:

function handler(chartData) {
    // all the code here that deals with chartData
}

$.ajax({
    url: "data.json",
    dataType: "json",
    success: handler
});

答案 1 :(得分:1)

也许是因为它不成功?我发现使用console.log(firebug,或Chrome中的大多数现代Web开发人员面板或支持它)进行调试非常有用。

您可以尝试使用这段代码进行调试。

var chartData = (function () {
            var chartData = null;
            $.ajax({
                'async': false,
                'global': false,
                'url': "data.json",
                'dataType': "json",
                'success': function (data) {
                    console.log('success');
                    console.log(data);
                    chartData = data;
                }
                error: function (data) { console.log('error'); console.log(data); },
         });
         return chartData;
})();
相关问题