Bonjour,
Je cherche a faire un appel AJAX au sein d'une fonction javascript afin de mettre a jour une variable globale en fonction du contenu XML de la reponse ajax.
Mon process Ajax marche parfaitement et j'obtiens bien ce que je veux mais la séquence des opération n'est pas respectée:
Le code de ma fonction JS appelé sur un "onchange":
Le code de mon AJAX:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 function getSubAttributes(trId, ischecked){ attName = trId.substring(2); alert("1. isempty="+isempty); getAjaxBoolSub(attName); alert("3. isempty="+isempty); }
Pour faire simple, mon alert("2. isempty=" + isempty) s'affiche après le alert("3. isempty=" + isempty).
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
22
23
24
25
26
27
28
29 //AJAX function getAjaxBoolSub(attName){ if(window.XMLHttpRequest){ try{ reqAjax = new XMLHttpRequest(); }catch(e){ reqAjax = false; } } if(reqAjax){ reqAjax.onreadystatechange = checkAjax; reqAjax.open("GET", "/afi_tuto/jasper/getAjaxBoolSub.do?attribute="+attName, "true"); reqAjax.send(""); } } function checkAjax(){ if(reqAjax.readyState==4){ if(reqAjax.status==200){ var rootCol = reqAjax.responseXML.getElementsByTagName("ROOT"); var root= rootCol[0]; var tagIsEmpty = root.firstChild; var isempty = tagIsEmpty.firstChild.nodeValue; alert("2. isempty=" + isempty); } else{ alert("There was a problem retrieving page\n" + reqAjax.statusText); } } }
Si qq'un a une explication du probleme...
Partager