2013-05-21 15 views
7

Ich versuche, das Google-Diagramm nach dem Klicken auf einen Link aufzurufen. Dies ist, was meine Funktion wie folgt aussieht:laden Google-Charts durch einen Ajax Anruf

function getGraphData(id) { 

    var ajax_url = '<?=URL?>ajaxlibrary/get-graph-data'; 

    $.ajax({ 
     type: 'POST', 
     url: ajax_url, 
     dataType: 'html', 
     data: ({ 
      id : id 
     }), 
     cache: false, 
     success: function(data) { 
      $('a').removeClass("selected"); 
      $('#link_'+id).addClass("selected"); 
      alert(data); 

     }, 
    }); 
} 

Also, was ich versuche, hier zu erreichen ist wie eine andere grafische Darstellung für ein anderes zu laden, kann so sagen, ich habe die Politik Charts, Sport-Chart usw. I don‘ t wissen, wo allerdings die Google-API-Code setzen, weil es es scheint einfach nicht funktioniert ...

EDIT: ich die Funktion wie folgt bearbeitet:

$.ajax({ 
     type: "POST", 
     dataType: "html", 
     data: {id: id}, 
     url: '<?=URL?>' + 'ajaxlibrary/get-charts', 
     success: function(datas) { 
      console.log(datas); 
      var data = google.visualization.arrayToDataTable([ 
        datas 
      ]); 

      var options = { 
       title: 'My Daily Activities' 
      }; 

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

, aber ich habe Probleme mit dem Senden Dieser Datenstrom von meiner Ajax-php-Datei:

echo '[\'Task\', \'Hours per Day\'], 
      [\'Work\',  10], 
      [\'shit\',  50], 
      [\'loop\',  25], 
      [\'poop\',  15]'; 

Die Antwort ist kein gültiges 2D-Array. Wenn ich die Werte manuell in die Javascript-Datei einfüge, funktioniert es, also ist das Problem irgendwo in der Antwort.

Antwort

13

Sie können die Google Charts mit Ajax-Aufruf mit dem folgenden Code laden.

Sie können alle anderen Diagrammtypen statt nur das Kerndiagramm mit Google API laden.

+0

erstaunlich, das hat funktioniert. Eine Sache jedoch, möchte ich die ID übergeben, die ich in meinem ursprünglichen Ajax hatte, also kann ich die spezifischen Werte von der PHP Akte laden. Vielleicht einen weiteren Ajax-Aufruf hinzufügen, wie es die Daten lädt? – InsaneSVK

+0

siehe kommentierten Code // tun Sie Ihre Chart Creation Zeug hier können Sie Ihre Sachen hier .. wenn Diagramme haben keine Notwendigkeit für Ihre Sachen können Sie es außerhalb dieses Anrufs auch tun. \ – Nagarjun

+0

Ich weiß, was Sie meinten, nur schau dir meinen bearbeiteten ersten Post an und sag mir, was ich tun soll. – InsaneSVK