Bonjour à tous,

Je me débrouille un peu en Javascript mais je suis loin d'être un expert. J'utilise jquery pour réaliser - entre autres - des appels ajax. Je suis confronté à un problème. J'ai deux appels ajax consécutifs, le deuxième étant lancé par le callback du premier. J'aimerais passer un paramètre au deuxième appel ajax. Je sais que je peux contourner le problème avec une variable globale mais je trouve ça moche et un peu trop facile...

Voici mon code
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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
 
	function pictoUniqueVisualization(id_layer){			
		var icon = "image2.png"; // paramètre à passer
		getFeaturesFromLayer(id_layer, setIconFeaturesForLayer);
 
	}
 
// me permet de récupérer les id mes objets à modifier	
function getFeaturesFromLayer(id_layer, callback){
 
		console.log("getFeaturesFromLayer");	
		var parameters = "where=id_layer=" + id_layer;
 
		var query ={
			url: "https://www.googleapis.com/mapsengine/v1/tables/" + tablePOI + "/features?" + parameters,
			type: "GET",
			headers: {"Authorization": "Bearer " + myAuthToken.access_token, "Content-Type": "application/json"},
			success: callback,
			error: handleApiError,
			cache: false
		};
		jQuery.ajax(query);
	}
 
// callback ou j'aimerais passer le paramètre icone défini dans //pictoUniqueVisualization
function setIconFeaturesForLayer(response){
 
 
		var strJSON = '{"features": [';
		for(var i = 0; i<response.features.length; i++){
			strJSON += '"properties": {';
			strJSON += '"gx_id": "' + response.features[i].properties.gx_id + '",';		
			strJSON += '"icon": "' + icon + '"';		
			strJSON += '}';
			if (i != response.features.length-1){
				strJSON += '},';
			}else{
				strJSON += '}';
			}
		}		
		var query ={
			url: "https://www.googleapis.com/mapsengine/v1/tables/" + tablePOI + "/features/batchPatch",
			type: "post",
			data: strJSON,
			headers: {"Authorization": "Bearer " + myAuthToken.access_token, "Content-Type": "application/json"},
			success: callback,
			error: handleApiError,
			cache: false
		};
		jQuery.ajax(query);	
 
	}
Avez-vous des idées ?

Merci d'avance!!