为什么我的Array在AJAX函数之外表现不同? (填充jsTree)

长话短说,我正在为jsTree创建一个类似JSON的数组。 我不明白的是为什么数组在AJAX成功函数中完全满足我的需求,但该函数之外被打破了。 从我的控制台转储中查看屏幕截图,您可以看到差异。 为什么函数内部与函数外部不同?

基本上,我不能做我需要做的事,除非它是完美的格式:(函数内的myAry)

什么给,男人?

var myAry = []; $.ajax({ type: "GET", url: "parents.xml", dataType: "xml", success: function(xml) { $(xml).find('group').each(function() { myAry.push({ "id": $(this).find('GroupID').text(), "parent": "#", "text": $(this).find('GroupName').text(), }); }); //end each loop //this array is PERFECT console.log(myAry); } //end success function }); //end ajax GET //THIS ARRAY IS BORKED console.log(myAry); 

XML:

    1 Instructional Assistant   2 Technician   3 HR Specialist   

在此处输入图像描述

它命中第一行代码;

//THIS ARRAY IS BORKED console.log(myAry);

Ajax调用之前的异步Javascript返回进程