Javascript 通过ajax在PHP和Google图表之间传递多个数据数组
我正在使用下面的ajax调用成功地准备GoogleCharte。我的脚本myscript.php读取数据库,准备图表列和行($array),然后以“echo json_encode($array)”结束 但是,我还需要myscript.php来组装一些页眉和页脚HTML,它们将出现在实际图表的上方和下方。我浪费了一天的大部分时间试图找到如何将数据数组($array)加上另外两个变量($header和$footer)传递回drawChart()JavaScript,然后它将显示最终代码 在我发疯之前,请有人帮我或给我指出正确的方向。谢谢Javascript 通过ajax在PHP和Google图表之间传递多个数据数组,javascript,php,ajax,Javascript,Php,Ajax,我正在使用下面的ajax调用成功地准备GoogleCharte。我的脚本myscript.php读取数据库,准备图表列和行($array),然后以“echo json_encode($array)”结束 但是,我还需要myscript.php来组装一些页眉和页脚HTML,它们将出现在实际图表的上方和下方。我浪费了一天的大部分时间试图找到如何将数据数组($array)加上另外两个变量($header和$footer)传递回drawChart()JavaScript,然后它将显示最终代码 在我发疯之
function drawChart() {
var jsonData = $.ajax({
url: "myscript.php",
dataType:"json",
async: false
}).responseText;
var dataTable = new google.visualization.DataTable(jsonData);
var options = {
'is3D': false,
'width': 310
};
var chart = new google.visualization.PieChart(document.getElementById('chart'));
chart.draw(dataTable, options);
}
您不能在客户端生成HTML吗?
如果确实需要,可以将HTML作为JSON中的对象发送
{ "header": "<h2>Header</h2>", "footer": "<p>Footer</p>", "data": [] }
{“header”:“header”,“footer”:“footer”,“data”:[]}
确保您了解JSON是如何作为一种简单的方式在客户端和服务器之间传输信息的。了解客户端计算机(浏览器)上没有现成的$header和$footer;您的脚本必须将它们转换为可传输的方式,这就是JSON格式工作得如此好的原因(浏览器实现Javascript)