2

我正在使用 Jaspersoft 的 javascript API Visualize.js 脚本在 UI 中嵌入一个简单的服务器报告。对于网络视图,我没有遇到任何问题。我附上了显示成功显示的图像。

网络视图

现在对于相同的代码,在作为 cordova 混合应用程序运行时看到从 visual.js 代码中抛出此错误:-

TypeError:null 不是对象(评估 't')

我附上了异常堆栈跟踪图像。

科尔多瓦应用程序的堆栈跟踪

正如 Jaspersoft 网站上所提到的,我使用脚本标签和 ID 为“容器”的空 div 标签将可视化.js 库注入到我的网页中。之后,我添加了身份验证代码和“v”对象,这是我在 jaspersoft 报告服务器中登录的实例。这些步骤根据 jaspersoft 社区网站上的使用指南进行。此外,Web 视图中没有问题,并且图表按预期显示,这证实了代码没有问题。

visual.js 是否甚至支持在客户端上为cordova 混合应用程序呈现可视化报告?如果是,知道为什么会出现此错误。

4

1 回答 1

0

不确定这是你的错误,但我得到了同样的错误。

在我的情况下,发生错误是因为加载的视图包含一个值为“null”的日期过滤器。这被序列化为没有 value 属性的 JSON 对象 (NULL),因此 value 将为undefined. visual.js 中的代码不能正确处理这种情况。

就我而言,我更改了临时视图。我没有过滤 <> NULL,而是过滤 > 1900-01-01。这样,空值就会被过滤掉,只要没有值小于该日期,结果就会相同。通过此更改,可以加载视图。

您可以尝试检查视图的过滤器值。

于 2019-12-10T16:30:38.897 回答