所以我认为这可能是一个范围问题,但我有点困惑为什么我无法使用变量从 $.getJSON() 请求访问响应数据。
当调用 $.getJSON('fruits.json') 数据按预期返回时,我可以将 'fruits.json' 交换为 cat+'.json',这似乎也能正常工作。
但是,在评估数据响应时,使用 'data.cat.length' 返回未定义,即使 cat =fruits 这是 Fruits.json 文件中对象的名称。
硬编码“data.fruits.length”按预期工作,但将“fruits”替换为变量“cat”返回未定义。
不确定我做错了什么,但目标是让 createQuestion(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' 相同,但似乎数据对象不同意。对我做错了什么有任何想法吗?
相关分类