Javascript JScript JSON数组访问
我在data.JSON文件中存储了一个JSON数组——我使用了这里为解决类似问题而推荐的代码,请解释为什么稍后在程序中尝试访问该数组时,它会告诉我该数组未定义Javascript JScript JSON数组访问,javascript,ajax,json,Javascript,Ajax,Json,我在data.JSON文件中存储了一个JSON数组——我使用了这里为解决类似问题而推荐的代码,请解释为什么稍后在程序中尝试访问该数组时,它会告诉我该数组未定义 var chartData = (function () { var chartData = null; $.ajax({ 'async': false, 'global': false,
var chartData = (function () {
var chartData = null;
$.ajax({
'async': false,
'global': false,
'url': "data.json",
'dataType': "json",
'success': function (data) {
chartData = data;
}
});
return chartData;
})();
谢谢你的帮助
编辑;为了访问,我将数组作为dojo图表中的一个系列使用:
尝试初始化var chartData后,我使用它的唯一其他点是:
chart.addSeries("Name",chartData);
编辑#2;如果有问题,data.json文件的格式如下:
[#, #, #, ... , #]
我想它应该在设置
async:false
时以某种方式工作。但最好是异步使用它:
function handler(chartData) {
// all the code here that deals with chartData
}
$.ajax({
url: "data.json",
dataType: "json",
success: handler
});
也许是因为它没有成功?我发现使用console.log(firebug,或chrome或ie中支持它的最新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;
})();
向我们展示您如何尝试访问阵列。更好的是,如果可以,请向我们展示一个工作示例。您是否回显了成功处理程序中返回的
数据
,以验证您是否获得了预期的数据,而不是类似于配置错误的web服务器提供的带有200代码的404页面,等等?尝试了这个,但似乎没有改变任何东西。您能验证服务器端脚本是否正常工作吗?例如,通过跟踪firebug中的错误?另一个常见错误是,您的json实际上是无效的json。无效的json看起来像什么,我如何将其与有效的json区分开来。@Draw:将您的json放在这里:查看json规范以了解正确的语法:@Drew您还可以将数据类型的一部分更改为“文本”,评估错误是否在json解析部分中。否则,您可以尝试同步访问php部件,或使用Firebug(或等效工具)进行调查。您是否有显示错误的链接?感谢您的帮助,很明显,Chrome访问本地文件时出现了问题,如下面的问题: