Yop,

je suis en train de faire une petite api pour gérer un stock là où je travaille, et j'ai un petit soucis lors de l'appel à la BDD.
En fait tout fonctionne bien. Pour vous expliquer voici le code:
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
30
31
32
33
34
35
 
function ajax(num, arg)
{
    var xhr=null;
 
    if (window.XMLHttpRequest) { 
        xhr = new XMLHttpRequest();
    }
    else if (window.ActiveXObject) 
    {
        xhr = new ActiveXObject("Microsoft.XMLHTTP");
    }
 
    var ii = [];
    xhr.onreadystatechange = function() { 
        if (xhr.readyState==4) 
        {
	        var	docX = xhr.responseXML;
	        var items = docX.getElementsByTagName("rep");
	        if (items.length != 0){
		        for (i=0;i<items.length;i++)
		      	{
			      	ii[i] = items[i].getAttribute("ii");
		      	}
	        }
		    else
		        {alert("rien trouvé");}
        }
    };
    xhr.open("GET", "requete_mysql_xml.php?num=" + num + "&arg=" + arg, true);
    xhr.send(null);
    var i = 0;
//	while (ii.length == 0) {}
    return ii;
}
En gros tout à la fin vous pouvez voir que j'ai mis un "while", et ce parce que sinon le code continue à s'exécuter sans que xhr.readystate soit à 4, et par conséquence sans que mes données soient récupérées depuis la bdd.
Le problème là dedans c'est que ça fait bugger le navigateur, et là en particulier il me demande à chaque fois si je veux arrêter le script gourmand.

Donc voilà, j'aurais aimé savoir si vous connaissiez une parade à ça

Merci d'avance
A+
saipas