所以我认为这可能是一个作用域问题,但是我有点困惑,为什么我不能使用变量访问来自$.getJSON()请求的响应数据。
当调用$.getJSON( 'fruits.json‘)时,数据会如期返回,我可以将’fruits.json‘替换为cat+'.json’,这似乎也很好用。
但是,在评估数据响应时,使用'data.cat.length‘返回时未定义,即使fruits.json文件中的对象名为cat = fruits。
硬编码的'data.fruits.length‘按预期工作,但用’data.fruits.length‘替换变量'cat’返回未定义的结果。
我不确定我做错了什么,但是我们的目标是让createQuestion( category )函数根据category输入动态加载一个不同的JSON文件。
function createQuestion(category){
var cat = category;
// JSON Data Import
$.getJSON('fruits.json', function(data) {
// Generate Cards
var cards = [];
var display = [];
for (i=0; i<data.fruits.length; i++) {
cards.push(data.fruits[i]);
}
我假设var cat = 'fruits‘与'fruits’相同,但数据对象似乎并不一致。你觉得我做错了什么吗?
https://stackoverflow.com/questions/56416961
复制相似问题