Javascript Zingchart通过java调用getimagedata api

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

我尝试导出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'将是响应的一部分”,但是一旦
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的新手。我将尝试链接的解决方案,如果有问题,请回来!