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