Bonjour,
Je crée un objet Javascript avec une méthode load qui fait une requête Ajax sur un serveur pour récupérer des données via un script PHP:
Les instructions console.log me renvoient bien toutes les infos que je veux.
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 function monObjet() { this.layers = []; var that = this; this.load = function() { var promesse = $.ajax({ type: "GET", url: 'scripts/gs_layersInfos.php', success: function(json){ var obj = JSON.parse(json); for (var i = 0; i < obj.layersInfos.length; i++) { console.log(obj.layersInfos[i]); that.layers.push(obj.layersInfos[i]); } }, error: function(err){alert("Error: Something went wrong"); console.log(err)} }); } }
Dans la page de mon appli web, j'ai :
Mais là, le console.log me renvoie undefined.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 var gs = new monObjet(); gs.load(); console.log(gs.layers[0]);
Qu'est ce qu'il manque? est-ce que c'est une histoire de la requete ajax qui est asynchrone? comment y remédier?
Merci,
Nico
Partager