如何从ajax响应中显示.png格式的图像?

如何从ajax响应中显示.png格式的图像?,ajax,Ajax,我正在发送ajax响应.getOutputStream().write(encoder.pngEncode())图像(以字节为单位), 我想在运行时通过ajax响应在jsp中显示图像,这可能吗? 你能请任何人解决这个问题吗 在Servlet类中: chartImage = chart.createBufferedImage(400, 300); PngEncoder encoder = new PngEncoder(chartImage, false, 0, 9);

我正在发送ajax响应.getOutputStream().write(encoder.pngEncode())图像(以字节为单位), 我想在运行时通过ajax响应在jsp中显示图像,这可能吗? 你能请任何人解决这个问题吗

在Servlet类中:

chartImage = chart.createBufferedImage(400, 300);       
        PngEncoder encoder = new PngEncoder(chartImage, false, 0, 9);

        resp.setContentType("image/png"); 
        resp.setHeader("Cache-Control", "no-cache");
        resp.getOutputStream().write(encoder.pngEncode());

在JSP中:

if (bbyHttpRequest.readyState == 4) 
    { 
        if(bbyHttpRequest.status == 200) 
        { 
        alert("inside ajax call");

        var respone=bbyHttpRequest.responseText;

        alert("respone----------->"+respone);

        //var i = new Image();
        //i.src = respone;

           //document.getElementById("imgChart1").innerHTML = '<%=request.getContextPath() + "/CreateOMSMonitorScreenTest" %>';
          // document.getElementById("imgChart1").value = '<%=request.getContextPath() + "/CreateOMSMonitorScreenTest" %>';
          document.getElementById("imgChart1").value=respone;

        } 
        else 
        {
        alert(' Dynamic call to web server failed.Please refresh the page. ');
        } 
    }   
if(bbyHttpRequest.readyState==4)
{ 
如果(bbyhtprequest.status==200)
{ 
警报(“内部ajax调用”);
var respone=bbyHttpRequest.responseText;
警报(“响应---------------->”+响应);
//var i=新图像();
//i、 src=响应;
//document.getElementById(“imgChart1”).innerHTML='';
//document.getElementById(“imgChart1”)。值=“”;
document.getElementById(“imgChart1”).value=respone;
} 
其他的
{
警报('对web服务器的动态调用失败。请刷新页面');
} 
}   

如果您的服务器返回PNG图像,您不必使用ajax,您可以使用简单的HTML:

<img src='myServer.thing?param=value' alt='Loading Failed' />

您可以使用JavaScript来处理
img
标记的错误。

有,所以您可以创建一个类似


但是,IE6不支持这一点,这对您来说可能是问题,也可能不是问题。

这没有意义。AJAX是问题的根源,而不是解决问题。不要过度使用它!