Javascript Zingchart通过java调用getimagedata api
我尝试导出zingchart图像,以在java中的base64对象中获取它 我想在js中像这样使用getimageapi:Javascript Zingchart通过java调用getimagedata api,javascript,java,wicket,zingchart,Javascript,Java,Wicket,Zingchart,我尝试导出zingchart图像,以在java中的base64对象中获取它 我想在js中像这样使用getimageapi: function exportImgChart(idChart) { zingchart.exec('idChart', 'getimagedata', { filetype: 'png', callback : function(imagedata) { console.log(imagedata); document.ge
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
谢谢你的帮助
调用JeffgetImageChart(AjaxRequestTarget,String)
是因为浏览器对服务器进行了一些Ajax调用
然后在服务器端构造一个字符串,该字符串将与响应一起发送到浏览器<代码>target.appendJavaScript(js)代码>不会立即发送。它只是说“'js'将是响应的一部分”,但是一旦getImageChart()
响应就会被刷新到浏览器中,并且几乎没有其他方法被完全执行
不能在target.appendJavaScript(js)
之后使用base64编码的图像。要获取base64数据,需要在JavaScript函数exportImgChart()
中对服务器进行新的Ajax调用。这个新的Ajax调用很可能会调用新的回调方法,例如,onBase64Image()
或任何您命名的方法
有关更多信息,请参见此答案:getImageChart(AjaxRequestTarget,String)
被调用是因为浏览器对服务器进行了一些Ajax调用
然后在服务器端构造一个字符串,该字符串将与响应一起发送到浏览器<代码>target.appendJavaScript(js)代码>不会立即发送。它只是说“'js'将是响应的一部分”,但是一旦getImageChart()
响应就会被刷新到浏览器中,并且几乎没有其他方法被完全执行
不能在target.appendJavaScript(js)
之后使用base64编码的图像。要获取base64数据,需要在JavaScript函数exportImgChart()
中对服务器进行新的Ajax调用。这个新的Ajax调用很可能会调用新的回调方法,例如,onBase64Image()
或任何您命名的方法
有关更多信息,请参阅此答案:好的,谢谢。很难理解,因为我是wicket的新手。我将尝试链接的解决方案,如果有问题,请回来!好的,谢谢,这很难理解,因为我是wicket的新手。我将尝试链接的解决方案,如果有问题,请回来!