使用ajax调用时,使用谷歌图表框架不起作用

时间:2011-11-14 11:12:09

标签: jquery ajax google-visualization

我正在使用google charts libaries,只是测试我服务器中的example code一切顺利。但是,如果我将代码放在一个页面中,我们称之为example.php,如果我使用ajax从另一个页面调用example.php,如:

    $.ajax({ url: 'stats-render.php', data: {ref: $(this).attr('id')}, type: 'post', success: function(d) {
        $('div.stats-data').html(d);
    }});
    $('div.stats-data').html('<center><img src="css/img/ajax-loader.gif" alt="loader_IMG" /><br>Rendering your stats</center>');
1000);
    });

它确实有效,显然当我通过ajax调用示例而不是直接调用它时会出现问题。有什么想法吗?

1 个答案:

答案 0 :(得分:1)

您应该考虑使用iframe使其正常工作,因为Google测试页面的结果是一个完整的html页面。

您的代码变为:

<html>
  <head>
    <title>test</title>
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"/>
    <script type="text/javascript">
      $(function(){
         $('.stats-data').html('<center><img src="css/img/ajax-loader.gif" alt="loader_IMG" /><br>Rendering your stats</center>');

         $('.stats-data').attr('src', 'stats-render.php');
       });
    </script>
  </head>
  <body>
    <iframe width="600" height="600" class="stats-data">
      override me
    </iframe>
  </body>
</html>

它使用iframe在您的网页中加载google cahrt的内容。 如果你真的想使用div而不是iframe,你应该考虑解析ajax调用的结果并正确填充div。