今天在写一个课程作业的时候,发现明明请求到了数据,但是对数据进行处理的时候,又总是报错“undefined”。
以下是问题代码
var alldata;
//动态获取数据
$.getJSON("../../public/js/all_competition.json").done(function (allcompetition) {
alldata = allcompetition.data
if (alldata) {
console.log(alldata);//能请求到数据
console.log("所有竞赛数据获取成功");
}
else
console.log("所有竞赛数据获取失败");
});
//3.初始化实例对象 echarts.init(dom容器)
var myChart = echarts.init(document.getElementById('c1'), null, {
width: 270,
height: 270
});
//现在计算每个类别比赛的数量 编程 创业 建模 英语 其他
console.log("alldate:")
console.log(alldata)
能请求到数据,但是处理数据的时候又显示“undefined”,以下是问题截图
解决办法:
将getJSON从异步改为同步
var alldata;
//动态获取数据
$.ajaxSettings.async = false; //getJSON改成同步,要不然数据是undefined------https://www.cnblogs.com/qianlang/p/12142760.html
$.getJSON("../../public/js/all_competition.json").done(function (allcompetition) {
alldata = allcompetition.data
if (alldata) {
console.log(alldata);
console.log("所有竞赛数据获取成功");
}
else
console.log("所有竞赛数据获取失败");
});
//3.初始化实例对象 echarts.init(dom容器)
var myChart = echarts.init(document.getElementById('c1'), null, {
width: 270,
height: 270
});
//现在计算每个类别比赛的数量 编程 创业 建模 英语 其他
console.log("alldate:")
console.log(alldata)