使用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: {