HighCharts TypeError:ha不是函数

时间:2014-11-22 14:42:12

标签: javascript php highcharts

我在使用HighChart进入我的php代码时遇到了问题。

最初我创建了一个graph.php并设法让它自己运行起来。

然而,当我将它集成到另一个php(adminlist.php)时,图形无法显示,并且在调试时,错误显示" TypeError:ha不是函数"和TypeError:$(...)。highcharts不是一个函数(对不起,这里无法附加图片)

adminlist.php中的代码如下:

<ul class="nav nav-pills nav-stacked">
<li <?php if($_GET['function'] == 'graph'){echo 'class="active"';}?>><a href="adminlist.php?function=graph">Analyzer</a></li>
</ul>
                        if ($_GET['function'] == 'graph'){
                    include('graph.php');

                    }

我在graph.php中的代码(如果我直接调用graph.php,但是当我将它包含在adminlist.php中时,它会起作用)。源代码如下:

<div id="mostpopular" style="height: 400px"></div>
<script src="bootstrap-3.2.0-dist/js/jquery.min.js"></script>
<script src="bootstrap-3.2.0-dist/js/bootstrap.min.js"></script>
<script src="bootstrap-3.2.0-dist/js/bootstrap-markdown.js"></script>
<script src="bootstrap-3.2.0-dist/js/jquery.hotkeys.js"></script>
<script src="Highcharts-4.0.4/js/highcharts.js"></script>
<script src="Highcharts-4.0.4/js/highcharts-3d.js"></script>
<script src="Highcharts-4.0.4/js/modules/exporting.js"></script>

<script type="text/javascript">

$(function () {
    $('#mostpopular').highcharts({
        chart: {
            type: 'column',
            margin: 75,
            options3d: {

                alpha: 10,
                beta: 25,
                depth: 70
            }
        },
        title: {
            text: 'Sale transaction volume'
        },
        subtitle: {
            text: 'List of total sales by food category'
        },
        plotOptions: {
            column: {
                depth: 25
            }
        },
        xAxis: {
            categories: ['<?php echo $foodnamearr[0]; ?>', '<?php echo $foodnamearr[1]; ?>','<?php echo $foodnamearr[2]; ?>','<?php echo $foodnamearr[3]; ?>','<?php echo $foodnamearr[4]; ?>','<?php echo $foodnamearr[5]; ?>','<?php echo $foodnamearr[6]; ?>','<?php echo $foodnamearr[7]; ?>']
        },
        yAxis: {
            opposite: true
        },
        series: [{
            name: 'Sales',
            data: [<?php echo $qty[0]; ?>,<?php echo $qty[1]; ?>, <?php echo $qty[2]; ?>, <?php echo $qty[3]; ?>, <?php echo $qty[4]; ?>, <?php echo $qty[5]; ?>, <?php echo $qty[6]; ?>, <?php echo $qty[7]; ?>]
        }]
    });
});
        </script>

2 个答案:

答案 0 :(得分:7)

老问题,但如果有人发现自己在搜索:

自4.0.4起,haerror方法的缩小版本。在定义error之前调用{1}}的脚本中的一次是在第106行,它在那里检查脏的Highcharts命名空间:

if (win.Highcharts) {
  error(16, true);
} else {
  Highcharts = win.Highcharts = {};
}

由于该错误,您没有收到实际错误。预期输出是:

uncaught exception: Highcharts error #16: www.highcharts.com/errors/16

注意:当然,根据您的Highcharts版本,代码可能已更改。

答案 1 :(得分:1)

检查您是否在您正在使用的模板中导入相同的highcharts javascript文件,以及您所包含的模板。

就我而言,它解决了这个问题。