在ajax调用中生成highcharts

时间:2016-07-21 16:24:25

标签: javascript ajax highcharts

使用Highcharts库和ajax时遇到问题。我使用Jaspersoft Studio中提供的自定义可视化工具创建了各种图表,但这次我需要调用一个webservice,它在表中注入数据并在显示图表之前解析SOAP响应。 高级代码在ajax的完整参数中调用。 但是当运行嵌入js模块的JasperReports报告时,我得到错误“TypeError:渲染器不是函数”,好像从ajax看不到库。 还尝试在函数中包含所有高级代码,并从参数complete中调用它,但仍然相同。 请注意,我已经分离了Web服务调用和图表的生成,它可以工作。除了必须首次执行报告,因为它第一次成功注入数据但立即显示图表然后为空。 (脚本2吼叫)

提前感谢您的帮助!

script 1:
    define(['jquery','highcharts-all'], function ($) {
    var url = "URL";
    $.ajax({
        url: url, 
        type: "GET",
        success: function  (data) {
                    var $xml = $( data ),
                    $result = $xml.find('runJobReturn').text();
                    console.log($result);
                    if($result === "0") {console.log("OK")} 
                                        else alert("FAIL")
        },
        complete: function (instanceData) {     

                var chart;
                var series0 = instanceData.series[0],
                main_data = [], // structure 
                ...
                            chart = new Highcharts.Chart({
                chart: {
                type: 'column',
                renderTo: instanceData.id   
                },
                credits: {

script 2:
    define(['jquery','highcharts-all'], function ($) {
    var url = "URL";
    $.ajax({
        url: url, 
        type: "GET",
        success: function  (data) {
            var $xml = $( data ),
            $result = $xml.find('runJobReturn').text();
            console.log($result);
            if($result === "0") {console.log("ok")} else alert("FAIL")
        }           
    });


    return function (instanceData) {    

        var chart;
        var series0 = instanceData.series[0],
        main_data = [], // structure 
        ...

        chart = new Highcharts.Chart({
                    chart: {
                        type: 'column',
                        renderTo: instanceData.id   
                    },
                    credits: {

0 个答案:

没有答案