L'unico modo che ho trovato per rendere globali delle variabili ottenute con Ajax è inserirle in campi input nascosti e recuperarle all'occorrenza. Soluzione poco elegante e macchinosa, non linciatemi.
Scusate eventuali errori, ho scritto di getto questo esempio.
Ciao
codice:
function DataCall(){
$.ajax({
type: "POST",
url: "il mio url",
data: "i miei dati",
dataType: "html",
success: function(data){
MyData(data);
return data;
},
error: function() {
alert('errore');
}
});
}
function MyData(data){
var data = jQuery.parseJSON(data);
var nome = (data.nome);
var cognome = (data.cognome);
$('#nome').val(nome);
$('#cognome').val(cognome);
Recupera();
};
function Recupera(){
//riprendo i miei dati e li inserisco in variabili globali
nome = document.getElementById('nome').value;
cognome = document.getElementById('cognome').value;
};
function(){
//utilizzo i miei dati dove voglio
$('<div>Nome: '+nome+' Cognome: '+cognome+'</div>').dialog();
// e se voglio li aggiorno
$.ajax({
type: "POST",
url: "il mio url",
data: "nome="+nome+"&cognome="+cognome,
dataType: "html",
success: function(){
//richiamo i miei dati aggiornati
DataCall();
},
error: function() {
alert('errore');
}
});
}