我确信这很简单,但我不是一个真正的JS开发人员。
我有以下函数设置两个数组等于json响应,以便我可以将数组加载到Chart.js
$(document).on("turbolinks:load",function(){
var months = [];
var values = [];
$.getJSON({url: "/reports/graph_data.json", success: function(data){
for (var i = 0, len = data.length; i < len; i++) {
months.push(data[i][0]);
values.push(data[i][1]);
}
alert(months); //DISPLAYS CORRECT MONTHS
}});
alert(months); //DISPLAYS NOTHING
});
请注意,我在代码中有两个警报。第一个警报显示响应的月份,如我所料,但第二个警报为空。为什么是这样?当我在getJSON函数之外引用数组时,我会认为范围不会被破坏。
提前致谢。