[AJAX] Attendre la fin d'un script php
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:
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 :?