【发布时间】:2013-05-23 02:41:40
【问题描述】:
我正在尝试从 JSON 文件“gunsList.json”的内容创建一个 javascript 变量 my_jason(两者都存储在我机器上的同一文件夹中)。
我似乎遇到了与 OP 在this post 中相同的问题,当他更正了他有缺陷的 JSON 文件时,这个问题得到了解决。认为我有同样的问题,我通过 JSONLint 运行我的文件(我假设这是正确的验证),它回来了。
借鉴this post的技巧,我尝试使用jQuery来完成(注意:我在现有代码的其他部分成功使用了jQuery),如下:
var my_json;
$.getJSON('gunList.json', function(json) {
my_json = json;
});
当我尝试上述方法时(例如,alert(my_json)),my_json 是 undefined。
诚然,我对 AJAX 知之甚少,但我也尝试过:
var my_json = (function () {
var my_json = null;
$.ajax({
'async': false,
'global': false,
'url': 'gunsList.json',
'dataType': "json",
'success': function (data) {
my_json = data;
}
});
return my_json;
})();
在上面的例子中,my_json 是null。
当我将“gunsList.json”中的数组作为变量粘贴到我的 js 文件中时,我所有引用该数组的代码都运行良好,但作为一个初出茅庐的程序员,我很高兴能够让它与 JSON 一起工作.
【问题讨论】:
-
1) 您在何时何地使用
alert?在回调本身中尝试。 2) 为您的$.ajax调用提供错误处理程序,并查看它是否被调用。 -
浏览器控制台有错误吗?一个原因可能是 ajax 请求失败并调用了错误回调
标签: javascript jquery json