Javascript 无法通过异步ajax调用呈现base64图像返回
我试图进行多个异步ajax调用,其中一个是从服务器请求Base64映像。如果我将base64图像的ajax请求设置为synchronous,它对IE、Chrome和Firefox都有效。然而,对于异步的情况,图像每次都在IE中呈现,而不是偶尔在Chrome和Firefox中呈现。有时是渲染,有时不是。 最重要的是,移动浏览器根本不会渲染图像 代码非常简单,但我不知道它出了什么问题Javascript 无法通过异步ajax调用呈现base64图像返回,javascript,jquery,ajax,asynchronous,knockout.js,Javascript,Jquery,Ajax,Asynchronous,Knockout.js,我试图进行多个异步ajax调用,其中一个是从服务器请求Base64映像。如果我将base64图像的ajax请求设置为synchronous,它对IE、Chrome和Firefox都有效。然而,对于异步的情况,图像每次都在IE中呈现,而不是偶尔在Chrome和Firefox中呈现。有时是渲染,有时不是。 最重要的是,移动浏览器根本不会渲染图像 代码非常简单,但我不知道它出了什么问题 函数TestViewModel(){ var self=这个; self.Image=ko.observable(
函数TestViewModel(){
var self=这个;
self.Image=ko.observable();
self.GetProfileData=函数(){
$.ajax({
async:true,
键入:“GET”,
网址:。。,
成功:{
//返回配置文件数据
}
});
}
self.GetProfileImage=函数(){
$.ajax({
async:true,
键入:“GET”,
网址:。。,
成功(数据):{
self.Image(data.Base64Image);
}
});
}
self.GetProfileData();
self.GetProfileImage();
}
applyBindings(新的TestViewModel())代码>
我想您应该使用内容类型前缀:
self.Image("data:image/x;base64," + data.Base64Image);
您能否将返回的字符串放入浏览器地址栏并成功获取图像。base64字符串本身可能有问题。代码看起来是正确的