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 36 37
|
// NE PAS UTILISER : problème à résoudre : perte de l'avantage de l'asynchronicité ajax
//( piste de résolution : gestionnaire d'événement pour récupérer la valeur de retour au lieu de l'attendre )
// ---------------------------------------------------------
// --- FONCTION APPEL AJAX STANDARD ---
// ---------------------------------------------------------
// >>> réalise un appel ajax standard à partir des paramètres donnés :
// PARAM #1 : URL de l'appel (chemin relatif à appeler par ajax, exemple : "./repertoire/page.php" )
// PARAM #2 (optionnel) : chaine de paramètres au format "paramètres de requête" ( exemple : param1="bonjour"¶m2="99548652"¶m3="false" )
// RETOUR : (string) de retour du traitement ajax ( ici ==> xhr.responseText )
function appel_ajax_standard(url, params)
{
window["retour"] = "";
var xhr = getXhr();
var ms = new Date().getTime();
params = (params)?(params + '&ms=' + ms):('ms=' + ms);
xhr.onreadystatechange = function()
{
if (xhr.readyState == 4)
{
if (xhr.status == 200)
{
// pas de return ici car il serait interprété comme étant le retour de la fonction "onreadystatechange"
window["retour"] = xhr.responseText;
}
else
{
window["retour"] = "Le serveur ne répond pas.";
}
}
}
xhr.open("GET", url + "?" + params, true);
xhr.send(null);
while (window["retour"] === "")
{ /* attente de la réponse */ }
return retour;
} |
Partager