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:
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)}
		});
 
    }
}
Les instructions console.log me renvoient bien toutes les infos que je veux.

Dans la page de mon appli web, j'ai :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
var gs = new monObjet();
gs.load();
console.log(gs.layers[0]);
Mais là, le console.log me renvoie undefined.

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