Bonjour,
Je rencontre actuellement un problème pour générer mon graphe via highcharts.
Je souhaite mettre à jour le graphe via AJAX par l'appel d'une page test2.php par POST qui me retournera les valeurs d'une BDD.
Au départ, j'ai écrit une page sans AJAX pour vérifier que le rendu du graphe me convenait...
Voici un bout du code avec surtout la partie data qui nous intéresse:
Ce bout de code me donne satisfaction...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 $('#container').highcharts({ chart: {type: 'column'}, title: {text: 'MON TITRE'}, xAxis: {title: {text: 'Delai'}}, yAxis: {title: {text: 'Nombre de dossiers'}, min: 0}, tooltip: {headerFormat: '<b>{series.name}</b><br>', pointFormat: 'délai:{point.x} j -> date:{point.date}'}, series: [{ name: 'TEST', data: [{x:15, y:2, date: '2014-12-09'},{x:16, y:8, date: '2014-12-08'},{x:24, y:6, date: '2014-12-01'}] }] });
Maintenant, j'essaye de mettre en place AJAX afin de récupérer les données depuis ma BDD (la variable filtre correspond à ce que je mets dans mon post pour appeler la page test2.php et qu'elle me renvoie les données que je souhaite).
Cela donne ça:
La variable resultat renvoyée par test2.php est un chaine de caractères avec cette valeur:
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 $.post( "test2.php", filtre , function(resultat){ $('#container').highcharts({ chart: {type: 'column'}, title: {text: 'MON TITRE'}, xAxis: {title: {text: 'Delai'}}, yAxis: {title: {text: 'Nombre de dossiers'}, min: 0}, tooltip: {headerFormat: '<b>{series.name}</b><br>', pointFormat: 'délai:{point.x} j -> date:{point.date}'}, series: [{ name: 'TEST', data: resultat }) }, "text" );
Le problème est que javascript n'a pas l'air d'attendre un "text" au niveau du data et du coup, le graphe est vide..
Code : Sélectionner tout - Visualiser dans une fenêtre à part [{x:15, y:2, date: '2014-12-09'},{x:16, y:8, date: '2014-12-08'},{x:24, y:6, date: '2014-12-01'}]
J'imagine qu'il faut transformer ma variable résultat en tableau? l'évaluer?
J'ai essayer du split, du parseJson, du toString(), toArray()., eval()... et rien ne fonctionne.
Je suis sur que c'est une bétise mais je n'arrive pas à trouver quoi...
Merci pour votre aide!!!
Partager