Ciao,
questo argomento so che è abbastanza gettonato nel forum ma non son ancora riuscito a risolvere (forse perchè non ho trovato la giusta discussione), come da oggetto:
ho una pagina che contiene sia un form che una tabella riassuntiva di alcuni dati presenti nel db,
scrivo dei dati nel database tramite AJAX e vorrei che l'utente, come conferma dei dati, vedesse la tabella aggiornarsi !!
Per fare ciò ho creato principalmente due funzioni: setDati(), getDati() le quali mi sembra abbastanza banale capire a cosa servono.
Esse possono essere utilizzate in modo autonomo nell'applicazione oppure, come in questo caso, essere usate "in cascata"...ma come gestisco la chiamata di getDati ??
Tipicamente se faccio
codice:
<script>setDati; getDati();
la seconda sarà eseguita dal client prima che i dati siano scritti nel db e quindi non ritorna quello che l'utente si aspetta.
Riporto di seguito la parte importante di setDati():
codice:
		xmlHttp.open("GET",url,true)
                xmlHttp.setRequestHeader("connection", "close");						
		xmlHttp.send(null)
		xmlHttp.onreadystatechange=StateChange
E quella di getDati()

[CODE]
xmlHttp.open("GET",url,true)
xmlHttp.setRequestHeader("connection", "close");
xmlHttp.send(null)
xmlHttp.onreadystatechange=function stateChanged()
{
if (xmlHttp.readyState==0)
document.getElementById(target).innerHTML="Errore: richiesta non inizializzata";
if (xmlHttp.readyState==1)
document.getElementById(target).innerHTML="Caricam ento.";
if (xmlHttp.readyState==2)
document.getElementById(target).innerHTML="Caricam ento..";
if (xmlHttp.readyState==3)
document.getElementById(target).innerHTML="Caricam ento...";
if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
document.getElementById(target).innerHTML=xmlHttp. responseText;
};
]
nella quale ho implementato un rudimentale controllo sullo stato della richiesta !!

Che modifiche dovrei fare alle funzioni perchè possano "interagire" ??
Forse mi basta anche un semplice link alla discussione giusta, mi son appena riletto la guida ajax sul sito ma non è stata risolutiva