2013-06-10 2 views
0

J'utilise google visualization pour dessiner des graphiques à partir de données que j'envoie par JSON. J'ai lu les données avec JQUERY, cependant, quand je veux l'utiliser dans le javascript, j'obtiens le problème variable indéfini. Voici mon code:Utilisation de données json chargées dans Jquery en Javascript

google.load("jquery", "1.3.2"); 
google.load("visualization", "1", {packages:["corechart"]}); 
google.setOnLoadCallback(function(){ 
    $.get("http://localhost:8081/petclinic/users/7/campaigns/2/queries/4/analyze", function(data){ 
     console.log(data); 

     results.push(data[0][0]); 
     results.push(data[0][1]); 
     for (var i = 1; i < data.length; i++) { 
       results.push(data[i][0]); 
       results.push(parseInt(data[i][1])); 
     } 
     console.log(results); 
    }); 
    var data = google.visualization.arrayToDataTable(results); 

    var options = { 
     title: 'Company Performance' 
    }; 

    var chart = new google.visualization.LineChart(document.getElementById('chart_div')); 
    chart.draw(data, options); 
}); 

Répondre

1

Vous devez mettre votre code google map dans le rappel ajax, car après ajax vos données en ligne google.visualization.arrayToDataTable(data); est définie parce qu'il est exécuté avant le rappel ajax.

google.setOnLoadCallback(function(){ 
    $.get("http://localhost:8081/petclinic/users/7/campaigns/2/queries/4/analyze", function(data){ 
     console.log(data); 

     results.push(data[0][0]); 
     results.push(data[0][1]); 
     for (var i = 1; i < data.length; i++) { 
       results.push(data[i][0]); 
       results.push(parseInt(data[i][1])); 
     } 
     console.log(results); 

     var data = google.visualization.arrayToDataTable(data); // data or result ? 

     var options = { 
      title: 'Company Performance' 
     }; 

     var chart = new google.visualization.LineChart(document.getElementById('chart_div')); 
     chart.draw(data, options); 
    }); 

}); 
+0

cela n'a pas fonctionné. la chose est que dans Jquery je pourrais convertir mes données comme il est écrit ici. mais en javascript je reçois quelque chose comme ceci: ["[", indéfini, "[", NaN, "" ", NaN," t ", NaN," i ", NaN," m " –

+1

@MahsaTeimourikia Je remarque que vous avez oublié de traiter les données comme json, en ce moment c'est juste une chaîne.utilisez la fonction 'getJSON' à la place – jcubic

+0

Merci, cela a résolu le problème :) –

Questions connexes