Javascript 从ajax响应到img标记的base64字符串

Javascript 从ajax响应到img标记的base64字符串,javascript,jquery,html,ajax,wcf,Javascript,Jquery,Html,Ajax,Wcf,我有一个WCF服务,它返回相当于位图图像的base64字符串 return Convert.ToBase64String(ImgBytes); 我正在使用ajax调用此服务。代码类似于 jQuery.ajax({ url: MY_SERVICE_URL, type: "GET", dataType: "html", success: AjaxSucceeded, error: AjaxFailed }); function AjaxSucce

我有一个WCF服务,它返回相当于位图图像的base64字符串

return Convert.ToBase64String(ImgBytes);
我正在使用ajax调用此服务。代码类似于

jQuery.ajax({
     url: MY_SERVICE_URL,
     type: "GET",
     dataType: "html",
     success: AjaxSucceeded,
     error: AjaxFailed
});

function AjaxSucceeded(result, textStatus, request) {
    var binary = "";
    var responseText = request.responseText;
    var responseTextLen = responseText.length;

    for (i = 0; i < responseTextLen; i++) {
         binary += String.fromCharCode(responseText.charCodeAt(i) & 255);
    }

    $("#myimage").attr("src", "data:image/jpg;base64," + btoa(binary));
}
我尝试过搜索各种论坛。但不幸的是,我无法理解这一点。我错过什么了吗


提前感谢。

如果您使用的是jquery,应该这样使用

$("#myimage").attr("src","data:image/jpg;base64," + "Qk02EA4AAA....")

您还可以使用这个更短的代码段

$.get(MY_SERVICE_URL, function (base64string) {
    $("#myimage").attr("src", "data:image/jpg;base64," + base64string);
});

假设
MY\u SERVICE\u URL
只发送
返回Convert.ToBase64String(ImgBytes)的准确结果>
/9j/4AAQSkZJRgABAQEASABIAAD/2wBD….
感谢大家的支持。我能挺过去

这就是我所做的

jQuery.ajax({
     url: MY_SERVICE_URL,
     type: "GET",
     dataType: "json",
     success: AjaxSucceeded,
     error: AjaxFailed
});

function AjaxSucceeded(response) {
    $("#myimage").attr("src", "data:image/jpg;base64," + Response.GetCurrentFrameResult);
}

ajaxSuccessed
中发生了什么。您确定您正在从
我的服务\u URL
获取数据吗?@VDWWD:是。。我对此很有把握。我能够记录响应值,并在“”中使用相同的函数来显示完整的
AjaxSucceededIt
函数。请查找使用AjaxSucceededIt更新的查询,其显示方式好像您正在获取base64字符串并将其字节值转换为base64,这将不会有用。您是否尝试过
$(“#myimage”).attr(“src”,“data:image/jpg;base64,”+response.text)?仅当我使用“data:image/jpg;base64”+“Qk02EA4AAA…”时,此选项才有效。但是如果我使用“data:image/jpg;base64”+btoa(二进制)作为“”,它就会失败。我能看到完整的wcf响应吗?请在“尝试在ajax中使用数据类型:”json“的登录中找到,成功的方法是使用data.GetCurrentFrameResult
jQuery.ajax({
     url: MY_SERVICE_URL,
     type: "GET",
     dataType: "json",
     success: AjaxSucceeded,
     error: AjaxFailed
});

function AjaxSucceeded(response) {
    $("#myimage").attr("src", "data:image/jpg;base64," + Response.GetCurrentFrameResult);
}