【问题标题】:Can't get json array into js array on created [duplicate]无法在创建时将 json 数组放入 js 数组 [重复]
【发布时间】:2019-08-29 00:47:25
【问题描述】:

我知道这个问题已经被问过很多次了,我已经找到并遵循了这些答案,但没有成功。

总结:我需要从classes.json文件中获取数组,然后将变量classesdata()设置为json data

这是我需要从中加载数组的 classes.json 文件。

[{
    "School1": {
      "classTag": ["F1", "E2G", "E2E", "E2A"]
    }
  },
  {
    "School2": {
      "classTag": ["10BFTE", "11BFTE"]
    }
  }
]

这些是我尝试过的方法:

created() {
  // Load json to classes
  $.getJSON('../assets/classes.json', function(json) {
    for (var key in json) {
      if (json.hasOwnProperty(key)) {
        var item = json[key];
        this.classes.push({
          classTag: item.classTag
        });
      }
    }
  });

}

created() {
  $.getJSON('../assets/classes.json', function(data) {
    this.classes = data;
  }).error(function() {
    console.log('error: json not loaded');
  });

}

他们和其他人都给我这个错误: Vue Err Msg

【问题讨论】:

  • 你需要添加jQuery。

标签: javascript json vue.js


【解决方案1】:

看起来您尝试在 vue-app 中调用 jquery-method,但 jquery ($) 不在您的项目/范围内。尝试做到这一点 a) 包含 jquery(不推荐,对于一个函数调用会很臃肿)或使用普通 js。

您可能想研究一个更轻量级的 ajax 调用框架,例如 axios

edit:或者,正如评论所述,现代浏览器的内置 fetch 方法。

【讨论】:

  • 或者内置fetch()api
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-07-09
  • 2019-01-06
  • 1970-01-01
  • 2018-07-15
  • 1970-01-01
  • 2019-03-06
  • 2015-12-07
相关资源
最近更新 更多