Zingchart通过java调用getimagedataapi



我试图导出zingchart图像,以便在java中的base64对象中获取它。

我想在js:中使用这样的getimageapi

function exportImgChart(idChart) {
zingchart.exec('idChart', 'getimagedata', {
filetype: 'png',
callback : function(imagedata) {
console.log(imagedata);
document.getElementById('output_image').src = imagedata;
}
});}

但我不知道如何从java代码中调用它?我把我的js函数放成这样:

public void getImageChart(AjaxRequestTarget target, String idChart) {
String js = MessageFormat.format("exportImgChart({0});", //
StringUtils.wrap(this.getMarkupId(), "'") //
);
target.appendJavaScript(js);

//how to get image base 64 here ?
}

我的java框架是Wicket

谢谢你的帮助!

Jeff

getImageChart(AjaxRequestTarget, String)被调用是因为浏览器对服务器进行了一些Ajax调用。

然后在服务器端构建一个字符串,将与响应一起发送到浏览器。target.appendJavaScript(js);不会立即发送。它只是说"js’将是响应的一部分;但是一旦CCD_ 3和其他几个方法被完全执行,响应就被刷新到浏览器。

不能在target.appendJavaScript(js)之后立即使用base64编码的图像。要获得base64数据,您需要在JavaScript函数exportImgChart()中对服务器进行新的Ajax调用。这个新的Ajax调用很可能会调用新的回调方法,例如onBase64Image()或您命名的任何方法

有关更多信息,请参阅此答案:https://stackoverflow.com/a/42612027/497381

相关内容

  • 没有找到相关文章

最新更新