Bonjour

Voilà, je m'y connais pas trop en technologie AJAX, mais j'utilise du Javascript de temps en temps (suffisamment pour comprendre un code quoi). Mon problème est le suivant : dans tout les tutos ou cours d'intro à AJAX, je n'ai vu que des chose du genre :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
xhr.onreadystatechange = function()
{
	if(xhr.readyState == 4 && xhr.status == 200)
	{
		alert(xhr.responseText);
	}
}
xhr.open("GET","ajax.php",true);
xhr.send(null);
(où xhr est un objet initialisé comme il faut)

Bref, à chaque fois, dans la fonction "onreadystatechange" je ne vois que des "alert" ou des modification de la page (via DOM). N'est-il pas possible de faire en sorte que qu'une valeur soit disponible après l'appel ? Je m'explique... j'aimerai pouvoir faire une fonction de ce type :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
function doAjaxRequest(sUrl)
{
    // Création de l'objet avec une fonction qui fait ce qui va bien.
    var oHttp = getHTTPObject();
    var value;
 
    // Définition de la méthode qui s'occupe de traiter la réponse.
    oHttp.onreadystatechange = function ()
    { 
         if (oHttp.readyState == 4)
         {
            value = oHttp.responseText;
         }
    };
 
    // Préparation d'une requête asynchrone de type GET.
    oHttp.open("GET", sUrl);
 
    // Lancement de la requête.
    oHttp.send(null);
}
que je puisse appeler en faisant un truc du genre
Code : Sélectionner tout - Visualiser dans une fenêtre à part
var value = doAjaxRequest(sUrl);
Pour obtenir la valeur et pouvoir l'exploiter (il manque biensûr un return dans ma fonction pour que ça ait une vague chance de peut-être fonctionner, mais je ne saurais pas trop où le mettre)...
N'importe quel autre moyen de récupérer cette valeur en dehors de la fonction "onreadystatechange" m'irait aussi ^^

J'espère que c'est assez compréhensible ce que je dis et que vous allez pas me taper en me disant que ce que je demande ne peut évidemment pas se faire