Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/243.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用Ajax将JSON转换为Google图表_Php_Ajax_Json - Fatal编程技术网

Php 使用Ajax将JSON转换为Google图表

Php 使用Ajax将JSON转换为Google图表,php,ajax,json,Php,Ajax,Json,在此问题上的任何帮助都将不胜感激! 我正在尝试使用ajax响应表单PHP文件构建google图表。以下是我的gettabledata.php文件及其输出: $data= array( 'cols' => array( array('id' => 'Area','label' => 'Area', 'type' => 'string'), ar

在此问题上的任何帮助都将不胜感激! 我正在尝试使用ajax响应表单PHP文件构建google图表。以下是我的gettabledata.php文件及其输出:

 $data= array(
             'cols' => array(
                          array('id' => 'Area','label' => 'Area', 'type' => 'string'),
                          array('id' => 'Condition','label' => 'Condition', 'type' => 'string')),
          'rows' => array());

while($row = mysql_fetch_array($result)){
  array_push($data['rows'], array('c' => array(
  array('v' => $row['Area']),
  array('v' => $row['Condition']))));
  } 

$jsonData = json_encode($data);  
echo $jsonData; 
输出为:

   {"cols":[{"id":"Area","label":"Area","type":"string"}, {"id":"Condition","label":"Condition","type":"string"}],"rows":[{"c":[{"v":"Sk"},{"v":"Healthy"}]},{"c":[{"v":"Sk"},{"v":"Healthy"}]},{"c":[{"v":"Sk"},{"v":"Healthy"}]}]}
当我使用以下代码构造图形时,我得到了一个错误:uncaughtreferenceerror:$jsonTableData未定义

这是我的php文件:

 function drawItems(num) {
    //alert(num);
  var jsonTableData = $.ajax({
  url: "gettabledata.php",
  data: "q="+num,
  dataType:"json",
  async: false
}).responseText;
var tabledata = new google.visualization.DataTable($jsonTableData);
var table = new google.visualization.Table(document.getElementById('table_div'));
    table.draw(tabledata);
}

最后,经过数小时的谷歌搜索,我找到了解决方案:

答案如下:


}

这是因为在本例中未定义$jsonTableData-jsonTableData是.Hint-var jsonTableData=$.ajax{@Buggabill,那么,我该怎么办?
function drawItems(num) {
  var jsonTableData = $.parseJSON($.ajax({
  url: "gettabledata.php",
  data: "q="+num,
  dataType:"json",
  async: false
}).responseText);


var tabledata = new google.visualization.DataTable(jsonTableData);
var table = new google.visualization.Table(document.getElementById('table_div'));
    table.draw(tabledata);