Bonjour !
Je suis débutant en Ajax et un problème me chaffouine : lorsqu'on déclenche une requête Ajax, il est possible de lancer une fonction de retour dès que la requête a été traitée.
Or "Ajax" n'attend pas que le script php soit entièrement traité, il lance tout de suite la fonction de retour.
Voilà ma question : comment attendre la fin du script php avant de lancer la fonction de retour ?

Voici ma fonction qui déclenche une requête ajax :

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
function ajax(file, args, fct)  {
	var req = null;
 
	// Test de quelle façon créer la requête
	if(window.XMLHttpRequest) // FIREFOX
		req = new XMLHttpRequest();
	else if(window.ActiveXObject) // IE
		req = new ActiveXObject("Microsoft.XMLHTTP");
	else
		return(false);
 
	req.onreadystatechange = testRep; // fonction de retour
	req.open("POST", file, true);
	req.setRequestHeader('Content-type', 'application/x-www-form-urlencoded; charset=iso-8859-1');
	req.send(args);	// Vars passéés par méthode POST
 
	function testRep() {   // callback
		if (req.readyState == 4) {
			if (req.status == 200) {
				try {
					if (typeof fct != 'undefined') fct(req.responseText);
				} catch(e) {
					alert("ERREUR ajax fonction de retour (fct="+fct+") : "+e);
				}
			}
			else {
				alert("Problem: " + req.statusText + " (status=" + req.status + ")");
			}
		}
	}
}
ps : Si je suis pas clair dites le moi