我有一些 jquery 正在从 xml 文件中加载一些信息以用作字典,然后还有一些 json。我目前有代码工作但是它当前必须等待 xml 加载成功才能加载 json。我想做的是同时加载 xml 和 json,将数据存储在变量中,然后当两者都加载时触发另一个函数。这可能吗?
这是我当前的代码...
$(document).ready(function () {
var dict = {};
$.ajax({
type: "GET",
url: "/_layouts/SiteLocations.xml",
dataType: "xml",
success: function (xml) {
$(xml).find('type').each(function () {
var key = $(this).find('key').text().replace(/ /g, '_');
var definition = $(this).find('definition').text();
//assign key and definition to dictionary
dict[key] = definition;
});
getsites(dict);
}
});
});
function getsites( dict) {
$.getJSON('/_layouts/SiteLocations.ashx', function (json) {
//handle data
$.each(json, function (i, item) {
//create web friendly id
var sitetype = item.Type.replace(/ /g, '_');
//check if list exists, if not create
if ($('ul[name=' + sitetype).length) {
//add list item
$('ul[name=' + sitetype).append('<li><a href="' + item.URL + '">' + item.Title + '</a></li>');
}
else {
//create list and add item
$('#ListContainer').append('<div id="' + sitetype + '"></div>');
$('#' + sitetype).append(dict[sitetype] + '<br />');
$('#'+sitetype).append('<ul name="' + sitetype + '" />');
$('ul[name=' + sitetype).append('<li><a href="' + item.URL + '">' + item.Title + '</a></li>');
}
});
});
}