Problema memorizzazione valore di ritorno ajax in variabile globale

mercoledì 12 gennaio 2011 - 17.49

mo70 Profilo | Junior Member

Ciao a tutti, di seguito vi posto il codice per una chiamata ajax a un file php che restituisce una stringa. Devo inserire il valore di ritorno dentro la variabile gruppo (dichiarata come globale) e utilizzarla all'interno dello script. Al termine della richiesta ajax ho inserito un alert per vedere se la variabile gruppo era stata correttamente impostata al valore di ritorno ma, niente da fare, ottengo un'alert vuota. Invece, se inserisco l'alert all'interno della funzione che determina lo stato della richiesta ajax, ottengo correttamente la variabile. Credo sia un discorso di 'tempistica', nel senso che quando viene visualizzata l'alert in seguito alla chiamata ajax in realtà il valore di ritorno non è ancora stato restituito. Ho letto qualcosa su setInterval ma non ho capito come utilizzarlo.

Grazie 1000 per l'aiuto.

var gruppo='';

//richiesta ajax
if (window.XMLHttpRequest)
{
request=new XMLHttpRequest();
}else{
request=new ActiveXObject("Microsoft.XMLHTTP");
}

if (request)
{
request.open("POST",my_url);
request.setRequestHeader("Content-Type","application/x-www-form-urlencoded");

request.onreadystatechange=
function()
{
if (request.readyState == 4)
{

gruppo=request.responseText;

alert (gruppo); //restituisce valore corretto

}

}

request.send(message);
}else{
alert("Il tuo browser non è abilitato per l'utilizzo di ajax");
}
alert (gruppo); //restituisce alert vuota
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2017
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5