Функции не обязательно должны быть в функции успеха, чтобы использовать ее, но переменная xml существует только внутри области действия функций успеха, вам нужно будет установить для нее другую переменную.
Не работает
$.ajax(
url: "someUrl",
type: "GET",
dataType:"xml",
success: function(xml){ //some code },
error : function(){ //some code}
});
function parse() {
//xml processing code
}
Работает
var myXML;
$.ajax(
url: "someUrl",
type: "GET",
dataType:"xml",
success: function(xml){
myXML = xml;
//some code
},
error : function(){ //some code}
});
function parse() {
//myXML processing code
}
Также, если вы вызовете parse до успешного завершения вызова AJAX, тогда переменная myXML все равно будетноль.Всегда могу выполнить проверку.
function parse() {
if (myXML) {
//myXML processing code
} else {
//ajax not completed successfully yet
}
}