Sono relativamente nuovo a JavaScript e pensavo di sapere come funzionavano le funzioni di callback ma dopo un paio d'ore di ricerche sul Web non riesco ancora a capire perché il mio codice non funzioni.Impostazione della variabile locale in una funzione di callback JavaScript
Sto facendo una richiesta AJAX che restituisce un array di stringhe. Sto cercando di impostare questo array su una variabile locale, ma sembra che perderà il suo valore non appena viene eseguita la funzione di callback.
var array;
$.ajax({
type: 'GET',
url: 'include/load_array.php',
dataType: 'json',
success: function(data){
array = data;
},
error: function(jqXHR, textStatus, errorThrown){
alert("Error loading the data");
}
});
console.debug(array);
Nella console, array
appare come indefinito. Qualcuno può spiegarmi perché questo non viene impostato e come è possibile impostare una variabile locale in una funzione di callback.
Penso che tu sia confuso dalla formattazione del codice. 'Console.debug' è direttamente dopo' ajax'. –
Credo che l'ambito sia corretto, è solo che la formattazione è disattivata per le prime due righe non vuote (dovrebbero essere spostate a sinistra 1). – GoldenNewby
@JamesMontagne hai esattamente ragione. La formattazione mi ha davvero sconvolto. Aggiornata la risposta. – JaredPar