1
長時間監聽器,第一次調用者。不太擅長ajax。想必我在這裏做的事情非常密集:運行通過ajax加載的谷歌可視化(javascript)
試圖運行一個從ajax響應中返回html的谷歌可視化,但即使我可以在firebug的xhr響應中看到代碼,它在加載時不會運行ajax頁面。
直接訪問response2.php?var = X,它完美地工作,所以推測它本身沒有問題。
(我搬到JSAPI和AJAX頁面的頁眉和response2.php之間的google.load(可視化),但沒有成功無論哪種方式)
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;
}
});
RETURN2。 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變量,運行一個谷歌SPRE adsheets API查詢並返回下面的代碼:
Ajax響應
<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的表格繪製。我可以看到結果,但沒有任何可視化腳本。
非常感謝,
一個
傑森,謝謝你的回答。 我應該指出Ajax頁面確實包含用於碼一個div(#result)被放置到,像這樣:
<腳本類型= 「文本/ JavaScript的」> ... 要寫信給我,我是否簡單地將「成功」功能與您的解決方案交換,將「目標」更改爲「結果」? – andrew 2012-04-09 18:10:08是的,與結果交換目標並在響應中運行addScript函數。 – 2012-04-15 22:32:40