未捕获的ReferenceError:Highcharts未在Object.success上定义

时间:2019-09-17 10:28:25

标签: javascript sharepoint highcharts

未捕获的ReferenceError:未定义Highcharts     在Object.success(Home.aspx:885)     在你(jquery-3.3.1.min.js:2)     在Object.fireWith [as resolveWith](jquery-3.3.1.min.js:2)     在k(jquery-3.3.1.min.js:2)     在XMLHttpRequest。 (jquery-3.3.1.min.js:2)

在共享点页面上添加地图时,我遇到了错误。

我为sharepoint 2016添加了自定义母版页,并且在母版页中存在大量js和css文件,但是当我在页面上添加SPFx客户端Webpart时,出现错误提示,否则工作正常。

有人可以告诉我此错误消息的原因

1 个答案:

答案 0 :(得分:1)

我们可以使用REST API从列表中获取数据,然后使用Highcharts插件显示图表。

示例代码

<div class="chart"  id="myChartDiv" style="height: 400px; position: relative; cursor: pointer;" ></div>
<script src="https://code.jquery.com/jquery-3.1.1.min.js"></script>
<script src="https://code.highcharts.com/highcharts.js"></script>
<script type="text/javascript">
var CountCompleted=0;
var CountNotStarted=0;
var CountInProgress=0;
var getData=[]; 
var listName="MyTestTasks";

$(document).ready(function () {
    GetProjectType();
});

function GetProjectType() {  
    var deffer = new $.Deferred();
    $.ajax({
        url: _spPageContextInfo.webAbsoluteUrl + "/_api/web/lists/GetByTitle('"+listName+"')/items?$select=Status",
        type: "GET",
        headers: { "Accept": "application/json;odata=verbose" }                 
    }).done(function (getStatusType) {
        $.each(getStatusType.d.results, function(index, item) {
            switch(item.Status) {
                case "In Progress":
                CountInProgress++
                break;
                case "Not Started":
                CountNotStarted++
                break;
                case "Completed":
                CountCompleted++
                break;          
            }
        });
        callGraph();                 
        deffer.resolve();                    
        return deffer.promise();                  
    });              
}   
function callGraph(){
    $('#myChartDiv').highcharts({
        chart: {
            type: 'pie'
        },        
        title: {
            text: 'Project Status',
            align: 'center'
        },
        plotOptions: {
            series: {
                cursor: 'pointer',
                point: {
                    events: {
                        click: function() {
                            location.href = this.options.url;
                        }
                    }
                }
            }
        },
        series: [{
            name: 'Project Type',
            colorByPoint: true,
            data: [{
                name: 'Completed',
                y: CountCompleted,
                url: '#'
            }, {
                name: 'In Progress',
                y: CountInProgress,
                url: '#'
            }, {
                name: 'Not Started',
                y: CountNotStarted,
                url: '#'
            }]
        }]
    });
}   
</script>   

enter image description here