使用AJAX获取数据来赋值在外部变量中失败。当时目的是为了绘制flotcharts的图表。
加班了快8小时,才解决,也是当时第一次加班。
我一直以为是因为全局变量和局部变量的问题,结果证明并不是。
这个要点非常重要!
其实是HTML的一个加载的问题,具体我现在还不清楚,因为还没有深入学习。
可能性1:
涉及到对DOM加载的理解,有可能是因为HTML页面渲染完了,但是AJAX请求还没完成,所以数据没赋值进去。使用了同异步的办法也不行。
可能性2:
但是我发现数据还是有获取到,但是并不是我期待的数组对象,而是另一个类似数组样式的同样值的东西。这个我就没找到原因。
解决办法1:
将数据处理的部分放在AJAX内部。
解决办法2:
return $.ajax(...)
.done(function(data) {
...
})
.fail(function() {
$.notify({
icon: "ti-cloud-down",
message: "Error: No response from API.<br>(...)",
}, {
type: 'danger',
timer: 3000,
});
});
直接返回AJAX的数据也行