为了账号安全,请及时绑定邮箱和手机立即绑定

为什么 $.getJSON 仅在使用字符串文字时有效,而在使用变量时抛出未定义的错误?

为什么 $.getJSON 仅在使用字符串文字时有效,而在使用变量时抛出未定义的错误?

MYYA 2021-06-16 17:15:49
所以我认为这可能是一个范围问题,但我有点困惑为什么我无法使用变量从 $.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' 相同,但似乎数据对象不同意。对我做错了什么有任何想法吗?
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 97 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信