Java EE 应用程序无法识别 Google Visualization API。

8

我想在我的Java EE应用程序中使用Google Visualization API的图表。但是,无论我做什么,应用程序都无法识别API。我以前使用过它,所以我不明白我做错了什么。有人可以查看我的代码并告诉我我做错了什么吗?谢谢!

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>    
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<link type="text/css" href="LOCATION/STYLENAME.css" rel="stylesheet"/>

<script src="/tis/javascript/common/jquery.inlinemenu.js" type="text/javascript"></script>

<script type="text/javascript" src="https://www.google.com/jsapi"></script>
 <script type="text/javascript">

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

// Set a callback to run when the Google Visualization API is loaded.
      google.setOnLoadCallback(drawChart);

      // Callback that creates and populates a data table,
      // instantiates the pie chart, passes in the data and
      // draws it.
      function drawChart() {

        // Create the data table.
        var data = new google.visualization.DataTable();
        data.addColumn('string', 'Topping');
        data.addColumn('number', 'Slices');
        data.addRows([
          ['Mushrooms', 3],
          ['Onions', 1],
          ['Olives', 1],
          ['Zucchini', 1],
          ['Pepperoni', 2]
        ]);

        // Set chart options
        var options = {'title':'How Much Pizza I Ate Last Night',
                       'width':400,
                       'height':300};

        // Instantiate and draw our chart, passing in some options.
        var chart = new google.visualization.PieChart(document.getElementById('chart_div'));
        chart.draw(data, options);
      }
    </script>

<!--Div that will hold the pie chart-->
    <div id="chart_div"></div>

错误如下:
  1. 引用错误:google未定义
  2. 方法“setOnLoadCallback”被下划线标记并显示为“未解析的函数或方法'setOnLadCallback'”

@JohnHendrik 你最终解决了这个问题吗? - Wyetro
你尝试过像这样加载包吗?<script type="text/javascript" src="https://www.google.com/jsapi?autoload={'modules':[{'name':'visualization','version':'1.0','packages':['corechart']}]}"></script> - danabnormal
@danabnormal,它没有解决问题。 - Wyetro
@WMios,你能否通过Chrome的开发者工具或Firefox的Firebug检查一下,在通过你的Web应用程序加载时,脚本文件是否被正确加载?另外,请检查是否有其他JS文件与“google”实例冲突。如果您能提供运行应用程序的服务器信息以及任何服务器配置,那就更好了。谢谢。 - Prakash K
@PrakashK,答案在这里:http://stackoverflow.com/questions/31251147/google-charts-not-loading-on-intellij - Wyetro
显示剩余3条评论
2个回答

2

为什么不尝试禁用浏览器中的所有附加组件,特别是名为“Disconnect”的附加组件。我也遇到了同样的问题,删除这个附加组件后,问题得到了解决。一些附加组件可能会干扰谷歌API库。


1

尝试修改这行代码:

google.load('visualization', '1', {packages: ['corechart']});

To this:

google.load('visualization', '1', {packages: ['corechart'], callback : drawChart});

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接