Administrateur PHPfrance |
3131 Messages
23 oct. 2009, 10:27
Avant ça ne marchait pas car tu utilisais une fonction anonyme au milieu dans "success: ...". Donc pour que ça marche il aurait fallu que $.ajax retourne la valeur de retour de l'exécution de ladite fonction.
[javascript]$.ajax = function(options) {
........
if (!options.async && everythingWasOK) {
return options.success(response);
}
.....
}[/javascript]
Mais ce n'est pas le cas
Donc tu dois déclarer une variable "au-dessus" du scope de ta fonction anonyme (c'est l'objectif de "var result" avant l'appel à $.ajax), modifier cette variable (qui du point de vue de ta fonction anonyme se comporte comme une variable globale) afin qu'elle porte la valeur que tu souhaites transmettre.
C'est la magie de la transmission des scopes parent et des fonctions anonymes en Javascript
