ajax未检测到图像裁剪

时间:2017-09-13 02:59:41

标签: javascript jquery css ajax image

当我通过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);
  }
});

1 个答案:

答案 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+')');

这种愚蠢而烦人的事情......