我正在尝试将 xml 文件中的数据存储在关联数组中。创建数组工作正常,但我无法访问其他函数(即 checkArray())中的数据。
var picSetsData = (function () {
var _picSets = [];
$.ajax({
type: "GET",
url: "xml/content.xml",
dataType: "xml",
success: function (xml) {
$(xml).find('set').each(function (i) {
_picSets[i] = [];
_picSets[i].fehler = [];
_picSets[i].url = $(this).find('src').text();
$(this).find('spot').each(function (e) {
_picSets[i].fehler[e] = [];
_picSets[i].fehler[e].x = $(this).find("x").text();
_picSets[i].fehler[e].y = $(this).find("y").text();
});
});
}
});
return {
getPicSets: function () {
if (_picSets) return _picSets;
else {
console.log('error');
}
}
};
})();
checkArray();
function checkArray() {
console.log(picSetsData.getPicSets().length); // 1
console.log(picSetsData.getPicSets()); // my Array Data
console.log(picSetsData.getPicSets()[1]); //undefinded
console.log(picSetsData.getPicSets()[1].url); //undefinded
}
有什么想法可以解决这个问题吗?谢谢。