【问题标题】:display image as response to jQuery ajax request显示图像作为对 jQuery ajax 请求的响应
【发布时间】:2016-02-02 13:17:14
【问题描述】:

我试图显示图像作为对 jQuery ajax 请求的响应:

php代码:

    <div id="r_part">
    <img src="reports.php" alt="Report" />
    </div>

jQuery 代码:

    $.ajax({
        type: "POST",
        datatype: "html",
        url: "reports.php",
        data: ({post_year: selected_year}),
        success: function(response){
            $("#r_part").html("<img src=" + base64encode(response) +" />");
        },
        error: function(){
            $("#r_part").html('Oops! Something wrong ...');
            }
    }); 

php 部分工作正常。但是,$.ajax 部分对我不起作用!它提供如下输出:

我做错了什么!!!任何帮助都非常感谢...

赛弗

【问题讨论】:

  • 为什么需要base64encode来编码响应?
  • 你能提供一个没有调用base64encode函数的响应示例吗?
  • 图片的文件扩展名错误是什么目的?
  • 您没有完整的数据 URI,除非它在编码数据之前以 data:image/png;base64, 开头。
  • 使用 base64 URI (jsfiddle.net/casiano/xadvz) 的示例 .. 确保您的 reports.php 响应是 base64,然后就不需要像您那样对其进行编码。这取决于。如上所述,base64 解码后的数据以 data:image/(gif,png,jpeg ect) .. 开头

标签: jquery ajax image base64 encode


【解决方案1】:

在转换时尝试这个你没有添加“data:image/gif;base64” 所以,可能会显示..

$("#r_part").html("<img src='data:image/gif;base64," + base64encode(response) +"' />");

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-06
    • 1970-01-01
    • 2022-07-27
    • 2011-08-07
    • 2015-03-18
    • 1970-01-01
    相关资源
    最近更新 更多