Bonjour,
Je me retrouve face à un problème. Afin que vous le compreniez bien je vous montre un exemple:
J'ai une variable globale "varGlobale que j'initialise à 4.
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 varGlobale = 4; varGlobaleBis = 4; function unTest() { var xhr=null; if (window.XMLHttpRequest) {xhr = new XMLHttpRequest();} else if (window.ActiveXObject){xhr = new ActiveXObject("Microsoft.XMLHTTP");} xhr.onreadystatechange = function(){if (xhr.readyState==4 && xhr.status==200){ varGlobale++; alert(varGlobale); //Affiche 5 }}; xhr.open("GET", "ajax.php", true); xhr.send(null); } function secondTest() { varGlobaleBis++; } unTest(); alert(varGlobale); //Affiche 4 secondTest(); alert(varGlobaleBis); //Affiche 5
J'appel un fichier PHP qui va effectuer des calculs.
Les résultats des calculs seront ensuite interprété par le fichier js.
Le problème c'est que lorsque j'incrémente la variable globale, le changement n'est pas pris en compte en dehors de la fonction. Alors que si j'incrémente une variable globale dans une fonction toute bête, le changement est bien pris en compte (exemple avec varGlobalBis).
Avez vous une solution à mon problème?
Je vous remercie![]()
Partager