在jQuery中更新base64图像字符串时未进行图像刷新
Image refresh not happening when base64 image string updated in jQuery
上传新图像时,我希望配置文件图片图像更改为该新图像,而无需重新加载页面或在页面之间切换。我使用jQuery和AJAX get
方法将图像的来源更改为base64编码的字符串。
显示配置文件图片jQuery功能-
$("img.profilepicture").each(function () {
var profileid = $("#profileid").val();
var action = "image";
var self = $(this);
getprofileimage(profileid, action,self);
});
function getprofileimage(profileid, action, self) {
$.ajax({
type: "GET",
url: "StoryServlet",
data: {
'action': action,
'for': profileid,
'timestamp': new Date().getTime()
},
processData: false,
contentType: false,
success: function (data) {
self.attr('src',data.base64String);
self.attr('title','profilepic');
}
});
}
上传图像jQuery功能-
$("#uploadpic").click(function (e) {
e.preventDefault();
var fd = new FormData(document.querySelector("form"));
$.ajax({
type: "POST",
url: "StoryServlet",
data: fd,
processData: false,
contentType: false,
success: function (data) {
$("#picsucess").text(data.filename + " " + "uploaded sucessfully!");
$("#picsucess").fadeIn();
$("#picsucess").fadeOut(10000);
}
}).done(function (data) {
//done block
}).fail(function (jqXHR, textStatus) {
$("#fadein").text('File upload failed ...');
$("#fadein").fadeIn();
$("#fadein").fadeOut(10000);
}).complete(function (jqXHR, textStatus) {
location.reload();
});
});
删除
processData: false,
contentType: false,
在这种情况下,您需要处理传递给$.ajax的数据(显示配置文件图片功能),还需要为其设置内容类型,以便在服务器上正确读取
同时添加
dataType: 'json',
为了安全。并确保您的响应是有效的json。
相关文章:
- Jquery在源更改后刷新图像
- Javascript图像刷新
- 如何在javaservlet中通过javascript刷新图像
- 如何在提交后关闭颜色框窗口,并刷新父页面上的图像
- 无法使用javascript插件在首次运行时加载实际图像大小(图像在刷新后加载)
- Chrome:刷新页面后未呈现的背景图像 + JavaScript 重定向
- 使用按钮刷新任意图像
- 将图像从本地存储加载到画布仅每秒刷新一次
- 使用Jquery刷新除单个图像之外的所有页面
- 刷新时随机图像
- 使用年、月、日期、小时、秒格式每分钟刷新一次图像
- 在Div中刷新图像,只更改文件内容,不更改名称
- 在jQuery中更新base64图像字符串时未进行图像刷新
- fancybox 2图像刷新
- 带有图像刷新代码的 Javascript 数组
- 两个图像刷新java脚本没有一起运行
- 使用“停止-启动”按钮设置图像刷新间隔
- Django - Javascript -禁用图像刷新缓存
- 动态图像刷新
- 网络摄像头图像刷新与ajax