当我通过ajax使用$this->image_lib->crop()
调整图像大小或裁剪图像时,图像处理过程本身按预期工作..但是当我尝试使用$('#someDivId').css('background-image', 'url('+res.filepath+')');
显示生成的图像时,显示的图像不是裁剪..是因为ajax同步还是什么?请帮忙..
P.S。我正在使用jquery ver 1.12.4和codeigniter 3
我使用的ajax调用看起来像这样:$.ajax({
url: '/mymodule/resize_img',
type: 'post',
data: $('form').serializeArray(),
dataType: 'json',
success: function(res) {
$('#someDivId').css('background-image', 'url('+res.filepath+')');
},
error: function(err) {
console.log(err.responseText);
}
});
答案 0 :(得分:0)
我的朋友提出了一个解决方案并且有效。
他怀疑图像是由服务器或浏览器缓存的。所以他告诉我在引用像这样的图像路径时使用额外的参数:改变了这个:
$('#someDivId').css('background-image', 'url('+res.filepath+')');
进入这个:
var n = Math.random();
var newImgPath = res.filepath + '?x=' + n;
$('#someDivId').css('background-image', 'url('+newImgPath+')');
这种愚蠢而烦人的事情......