Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    Funzione che non ritorna il valore

    QUalcuno sa dirmi perchè questa cosa semplicissima:

    codice:
    function returnTheValue(input){
    
    	var send:LoadVars = new LoadVars;
    	var receive:LoadVars = new LoadVars;
    	send.index = input;
    	send.sendAndLoad("data.php",receive,"POST");
    	loadVars.onLoad = function(){
    	
    	}
    	receive.onLoad = function(){
    		encrypted = this.text;
    		return encrypted;
    	}
    	
    }
    
    test = returnTheValue(276);
    trace(test)
    Mi ritorna sempre UNDEFINED nel trace, mentre se io metto il trace(this.text) dentro receive.onLoad il valore è corretto?!

    Premesso lo script php naturalmente è raggiungibile e funzionante.
    Grazie!
    Ho capito che quando poni una domanda e nessuno ti sa rispondere, è arrivato il momento in cui sei tu a poter dare delle risposte agli altri...

  2. #2
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    Perché il caricamento esterno avviene in modo asincrono e solo all'interno della funzione che gestisce l'evento puoi manipolare i dati esterni.
    Il codice AS viene letto riga per riga ed eseguito, ma l'esecuzione del codice non si ferma ad attendere che qualcosa sia caricato dall'esterno. Perciò verrà "saltato" in attesa che il caricamento sia completato. Conseguentemente se richiami un valore fuori dalla funzione dell'evento, otterrai undefined, perché nel momento in cui viene letta la riga successiva alla funzione, la stessa non sarà stata letta.

  3. #3
    oddio e quindi come posso fare? io ho bisogno di avere un funzione che richiamo quando necessario, non voglio caricarmi tutti i dati all'inizio...
    Ho capito che quando poni una domanda e nessuno ti sa rispondere, è arrivato il momento in cui sei tu a poter dare delle risposte agli altri...

  4. #4
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    Dipende da come hai progettato la cosa, volendo puoi caricare dati parziali richiamandoli in maniera specifica (è più una cosa da fare con php), oppure puoi caricare quei dati sfruttando i frame, nel primo li carichi e hai uno stop() che blocca la timeline finché i dati non sono stati caricati, dal secondo frame in poi hai tutto il tuo sito e puoi sfruttare il dato che ti interessa in qualsiasi momento, poiché a questo punto è già presente sulla timeline.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.