problema scope variabili chiamata ajax

  • Creatore Discussione Creatore Discussione mo_70
  • Data di inizio Data di inizio

mo_70

Nuovo Utente
15 Apr 2010
7
0
0
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. Come faccio a utilizzarla all'esterno della funzione?

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
 
Ciao, innanzitutto grazie per la risposta. Ho provato a mettere var davanti alla variabile come mi hai suggerito, però ottengo il seguente errore: gruppo non è definito.
 

Discussioni simili