2012-03-12 23 views
0

私がやっていることは、ユーザーがボタンをクリックしたときにグラフを表示することです。チャートは、javascriptを使用してPHPファイルからフェッチされています。ここに私が実際にやっているコードがあります。Google chart APIがjavascript/ajaxを使ってグラフを表示していない

これは、グラフをフェッチし、これはPHPコードでHTML DOM

function draw_graph(num) { 

    var xmlhttp; 
    if (window.XMLHttpRequest) { // code for IE7+, Firefox, Chrome, Opera, Safari 
     xmlhttp=new XMLHttpRequest(); 
    } else { // code for IE6, IE5 
     xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); 
    } 

    xmlhttp.onreadystatechange = function() { 
     if (xmlhttp.readyState==4 && xmlhttp.status==200) { 
     var output = xmlhttp.responseText; 
     document.getElementById('script_content').innerHTML = output; 
     } 
    } 
    xmlhttp.open("GET","includes/getgraphdata.php?type="+num+"&mode=day",true); 
    xmlhttp.send(); 

} 

にそれを添付javascript関数である、私はダミーデータと簡単なグラフ

<?php 

echo " 
    <script type=\"text/javascript\" src=\"https://www.google.com/jsapi\"></script> 
     <script type=\"text/javascript\">     
         google.load('visualization', '1', {packages:['corechart']}); 
         google.setOnLoadCallback(drawChart); 
         function drawChart() { 
          var data = new google.visualization.DataTable(); 
          data.addColumn('string', 'Date'); 
          data.addColumn('number', 'Sell'); 
          data.addColumn('number', 'Purchase'); 
          data.addRows([ 
           ['12-03-2012', 150, 300], 
           ['12-04-2012', 250, 500] 
          ]); 

          var options = { 
           title: 'Graph' 
          }; 
          var chart = new google.visualization.LineChart.(document.getElementById('temp')); 
          chart.draw(data, options); 
         } 
        </script> 
    "; 

描画しようとしています上記のコードはHTML DOMに正しく添付されていますが、グラフは表示されません。

答えて

1

このライン

var chart = new google.visualization.LineChart.(document.getElementById('temp')); 

LineChart.を削除します。したがって、それはですLineChart(document.getElementById('temp'));

上記の行と次の行の間にエラーを追跡するためにalert("statement reached");を配置します。エラーが発生した場合、次の行が実行されない可能性があり、デバッグの利点として使用します。

0

私はそれを試してみましたが、ajaxを使ってテキストのJavaScriptコードを組み込むことはできません。

あなたが実際にそれを行うには、eval() responseText文字列か、返された文字列に基づいて何かを行うjavascriptが必要です。

例えば、

if(responseText == '1'){ 
function1(); 
}else{ 
function2(); 
} 

代わりにphpファイルを含めることができない理由はありますか?

<?php 
require_once 'googleapi.php'; 
?> 
関連する問題