我正在使用 div 来保存用户的个人资料图片。要更新它,用户选择一个新图像,然后替换 div 中的旧图像。然后用户点击更新以上传新图片,但是当我从服务器获得响应并且加载具有相同 div 的同一页面时,它会用旧图像填充 div。我在调试器中跟踪了这一点。我在 div 更新图片之前停在行并在文件系统上检查它(正确的新图片在那里),然后我继续调试器并用旧图片填充 div。如果我在一两秒后刷新页面,就会出现新图像。
div 图片容器:
<div id="ProfilePictureBox"></div>
当页面加载更新div时调用该函数
function preloadForm() {
var url = '/FeatureServer/Authentication?action=getMyDetails&userName=' + userName;
var req = $jQuery.ajax({
url: url,
type: 'GET',
success: function (data, response, xhr) {
var pic = data['ProfilePicture'];
if (pic.length > 0) {
pic = '/FeatureServer/' + pic;
// pausing here and checking `pic` in the browser confirms its the correct image
$jQuery("#ProfilePictureBox").css("background-image", 'url(' + pic + ')');
// old image is loaded ^
}
}
});
}