长期聆听者,第一次来电者。不太擅长ajax。大概我在这里做一些非常密集的事情:
尝试运行从 ajax 响应返回的 html 的 google 可视化,但即使我可以在 firebug 的 xhr 响应中看到代码,从 ajax 页面加载时它也不会运行。
直接访问 response2.php?var=X ,它工作得很好,所以大概输出的代码本身没有问题。
(我已经在 ajax 页面的标题和 response2.php 之间移动了 jsapi 和 google.load(visualization),但都没有成功)
ajax 调用
$.ajaxSetup ({
cache: false
});
$.ajax ({
type: "GET",
url: "return2.php",
data: "council=Leeds City Council",
dataType: "html",
success: function (responseText) {
document.getElementById('result').innerHTML = responseText;
}
});
返回2.php
<?php
$docKey = "0Aqk6sC3LBlfjdHUxRDIycjlSM3NvX0JCWnhxUjRUbFE";
$docQuery = $_GET['council'];
?>
<script type="text/javascript">
function drawVisualization() {
google.visualization.drawChart({
"containerId": "councilViz",
"dataSourceUrl": "http://spreadsheets.google.com/a/google.com/tq?key=<?php echo $docKey; ?>",
"query":"SELECT A,B,C WHERE A CONTAINS '<?php echo $docQuery; ?>'",
"chartType": "Table",
"options": {
"width": 560,
"height" : 200
}
});
}
google.setOnLoadCallback(drawVisualization);
</script>
<div id="councilViz">
<?php echo $docQuery; ?>
</div>
response2.php 获取 GET 变量,运行 google 电子表格 api 查询并返回以下代码:
阿贾克斯响应
<script type="text/javascript">
function drawVisualization() {
google.visualization.drawChart({
"containerId": "councilViz",
"dataSourceUrl": "http://spreadsheets.google.com/a/google.com/tq?key=0Aqk6sC3LBlfjdHUxRDIycjlSM3NvX0JCWnhxUjRUbFE",
"query":"SELECT A,B,C WHERE A CONTAINS 'Leeds City Council'",
"chartType": "Table",
"options": {
"width": 560,
"height" : 200
}
});
}
google.setOnLoadCallback(drawVisualization);
</script>
<div id="councilViz">
Leeds City Council</div>
尽我所能,当代码被ajax调用时,我无法绘制表格。我可以看到结果,但可视化脚本中什么也没有。
非常感谢,
一个