Bonjour,

Je débute avec jQuery, je veux récupérer et afficher le résultat d'une fonction ajax personnalisée qui retourne un tableau. Mais ma console me renvoie undefined.

J'ai besoin de récupérer le résultat en dehors de ma fonction query_suggest() pour le traiter dans une boucle imbriquée.

Comment y parvenir ?

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
53
54
55
56
57
function query_suggest(query, lang){
    var result;
 
    $.ajax({
        url: 'http://suggestqueries.google.com/complete/search',
        data: {
            "hl": lang,
            "ds": "",
            "q": query,
            "client": "firefox"
        },
        jsonpCallback: 'msgsJsonCallback', 
        type: 'GET',
        headers: {
            "Accept-Language": lang,
            "Accept": "application/json",
            "User-Agent": "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:60.0) Gecko/20100101 Firefox/60.0"
        },
        dataType: 'jsonp',
        success: function(data) {       
            result = data;
            return result;
 
        },
        error: function(jqXHR, textStatus, errorThrown) {
            console.log(jqXHR);
            console.log(textStatus);
            console.log(errorThrown);
        },
        cache: true
    }); 
}
 
var res_parent = query_suggest("chuck norris", "en");
 
if (res_parent.length > 0) {
 
var links = [];
 
	for (i = 0, l = res_parent.length; i < l; i++) {
 
		links.push({ 
			source : "chuck norris", 
			target : res_parent 
		});
 
		var child = query_suggest(res_parent[i], "en");
 
		for (i = 0, l = res_child.length; i < l; i++) {
 
			links.push({ 
				source : res_parent, 
				target : res_child
			});		
		}
	}
}