试图通过jQuery ajax调用加载Google图表

Zak*_*ziz 2 javascript ajax jquery google-visualization

最初发布在这里:尝试通过(jQuery)ajax调用加载谷歌图表, 但已经修改了我的代码但我仍然​​无法让它正常工作.

我正在尝试编写一个轮询函数来加载结果并将其显示在同一页面中而不刷新.我正在使用谷歌图表api和jquery ajax.

主页我有这个:

<script type="text/javascript" src="https://www.google.com/jsapi"></script>
<script type="text/javascript">
    google.load('visualization', '1.0', {'packages':['corechart']}); // Load the Visualization API and the piechart package.
    google.setOnLoadCallback(function(){  $("#poll_yes").removeAttr('disabled'); });

    function drawChart(rows) 
    {
        // Create the data table.
        var data = new google.visualization.DataTable();
        data.addColumn('string', 'Answers');
        data.addColumn('number', 'Number');
        data.addRows(rows);


        // Set chart options
        var options = 
        {
            'title'             :'Do you Like my poll?',
        };

        var chart = new google.visualization.PieChart(document.getElementById('chart_div'));
        chart.draw(data, options);              
    }       

    jQuery(document).ready(function() {
        $.ajaxSetup ({  
            cache: false  
        }); 
        var ajax_load = "<img src='images/loading.gif' alt='loading...' />";  

        $("#poll_yes").click(function(){
            $("#result").html(ajax_load); 
            $.post(
                "query.php",  
                {answer: "yes", poll_id: 5},  
                function(response){ 
                    drawChart(response);
                }
            );
        });                 
    }); 
</script>
<input type="submit" value="yes" disabled="disabled" id="poll_yes"/>
<div id="result"><div id="chart_div">&nbsp;</div></div>
Run Code Online (Sandbox Code Playgroud)

在我的query.php页面中的momemnt,我只是吐出假的JSON数据:

<?php 

if(isset($_POST['answer']))
{
    echo "{\"yes\": 14,\"no\": 9}";
}
else
{
    echo "{\"yes\": 9,\"no\": 14}";
}
?>
Run Code Online (Sandbox Code Playgroud)

点击"是"按钮后,它只显示ajaxloader.gif图像.

我感到非常沮丧,不能为我的生活弄清楚为什么会这样.任何帮助表示赞赏=)

小智 9

你原来的代码:

google.load('visualization', '1.0', {'packages':['corechart']}); // Load the Visualization API and the piechart package.
Run Code Online (Sandbox Code Playgroud)

添加一个参数,它应该没问题:

google.load('visualization', '1.0', {'packages':['corechart'], **"callback": drawChart**});
Run Code Online (Sandbox Code Playgroud)