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 :
(où xhr est un objet initialisé comme il faut)
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);
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 :
que je puisse appeler en faisant un truc du genre
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); }
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)...
Code : Sélectionner tout - Visualiser dans une fenêtre à part var value = doAjaxRequest(sUrl);
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
Partager