So che è una lunga domanda, quindi permettimi di spiegarti nel miglior modo possibile.Come si esegue una funzione Javascript richiede un valore dopo che una funzione onload è stata completata che fornisce il valore?
Ho due funzioni javascript che voglio eseguire dopo il caricamento della pagina, le chiameremo function1() e function2().
function1() utilizza AJAX per recuperare informazioni dal database che organizzerà il contenuto in un div dalle informazioni ottenute nel database. Restituisce anche i contenuti dal database una volta che la funzione è terminata.
function2() richiede il valore dal database per funzionare correttamente, quindi è necessario attendere che function1() restituisca il suo valore prima dell'esecuzione di function2(). Purtroppo il mio codice non funziona, e senza entrare troppo nel dettaglio, qui di seguito è uno schema del codice:
function function1() {
if (some_cookie_exists) {
//run some code
} else {
//send parameters through "POST"
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
var a = some_value_from_database;
// change div content
return a;
}
}
//sending parameters
}
function function2(a) {
//run code that depends on value of "a"
}
window.onload = function() {
var data = function1();
function2(data);
L'errore che ottengo è che i dati var non è definito. function1() recupera i dati con successo e funziona come volevo, ma function2() non viene eseguito affatto, perché il valore è mancante. Qualcuno può capire perché sto ricevendo questo e come dovrei fare per risolvere questo?
NOTA: In realtà ho solo familiarità con Javascript (ancora inesperto in questo), non so sostanzialmente nulla su JQuery, quindi se lo usi per correggere il codice, ti prego spiegami perché funziona (mi salverà problemi successivi)
sicuro esattamente di me, ma quando ho recuperare il valore, i ottenere il valore dal database.Come ho detto, io sono relativamente nuovo a JavaScript –
ho posto la funzione di cui sopra –
Dove è la funzione? – Barmar