长话短说,我正在为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:
<groups>
<group>
<GroupID>1</GroupID>
<GroupName>Instructional Assistant</GroupName>
</group>
<group>
<GroupID>2</GroupID>
<GroupName>Technician</GroupName>
</group>
<group>
<GroupID>3</GroupID>
<GroupName>HR Specialist</GroupName>
</group>
</groups>
答案 0 :(得分:-1)
它命中第一行代码;
//THIS ARRAY IS BORKED
console.log(myAry);
异步Javascript 在Ajax调用返回进程之前