使用ajax可以重新加载Google Visualization图表

|| 一直在网上浏览,但至今没有找到任何东西...有人可以帮忙吗? 我创建了一个简单的html页面,其中包含一个值列表框,当选择该值时会调用一个单独的php脚本来运行数据库查询并打印出结构html页面。这是使用ajax调用实现的,当用户更改列表框中的值时,将导致重新加载页面。 现在,我想摆脱使用html标记生成表格并将statemetns打印到更光滑的东西,并发现了Google可视化api。我已经浏览了该网站的许多页面,并使用了代码游乐场,但无法找到信息来帮助我了解如何使用可视化api生成表并将其传递回div标签的主页,使用相同的PHP脚本。 有人在过去有任何指示或经验吗? 谢谢。     
已邀请:
        您可以使用jQuery AJAX和您的php生成的一些数组来实现此目的。这是一种非常基本但简单的方法-如果事实证明这还不够的话,您可能需要四处寻找可以在您的php中为您生成gviz代码的php客户端库。 这是一个工作示例: HTML文件
<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\">
<html xmlns=\"http://www.w3.org/1999/xhtml\">
  <head>
    <meta http-equiv=\"content-type\" content=\"text/html; charset=utf-8\"/>
    <script type=\"text/javascript\" src=\"http://www.google.com/jsapi\"></script>
    <script type=\"text/javascript\">
      google.load(\"jquery\", \"1.6.1\");
      google.load(\'visualization\', \'1\', {packages: [\'table\']});
    </script>
    <script type=\"text/javascript\">

    function drawVisualization(dataFromAjax) {
      var data = google.visualization.arrayToDataTable(dataFromAjax);
      visualization = new google.visualization.Table(document.getElementById(\'table\'));
      visualization.draw(data);
    }

    function makeAjaxCall() {
      $.ajax({url:\'test.php\',
              data: {},
              success: function(responseData) {
                         // eval just for testing - make safer
                         var arrayForGviz = eval(\"(\" + responseData + \")\");
                         drawVisualization(arrayForGviz);
                       }
        });
    }
    </script>
  </head>
  <body>
    <input type=\"button\" onclick=\"makeAjaxCall();return false;\" value=\"Click to get data\"></input>
    <div id=\"table\"></div>
  </body>
</html>
​
PHP文件
<?php
echo \"[[\'Country\',\'City\',\'Value\'],
       [\'Ireland\',\'Dublin\',\'10\'],
       [\'France\',\'Paris\',\'15\']]\"
?>
显然,我的php文件是静态的,但是每次用户与页面进行交互并触发makeAjaxCall()时,您都可以发送不同的参数,并返回不同的数组响应。     

要回复问题请先登录注册