我无法弄清楚为什么我无法使用jQuery加载图像。在我看来,浏览器缓存问题,但我不确定。我正在做一个ajax调用,它返回一些生成图像的路径。在完整的方法上,我想替换我对这个新图像的现有图像。会发生什么是图像的src改变但我的图像保持不变。 这是代码的一部分。你能告诉我我做错了什么吗?
'onComplete' : function(response)
{
var img = new Image();
$(img).load(function()
{
$('#imagecontainer').children("#imagepreview").remove();
$('#imagecontainer').append(this);
$(this).fadeIn();
}).attr('src', response);
}
如果我输入attr('src', 'image.jpg')
它可以正常工作,如果我提醒响应它会给我'image.jpg'但是如果我放attr('src', response)
它就不起作用了!
由于
答案 0 :(得分:0)
在不知道您使用哪种jQuery方法发出请求的情况下,我无法确定问题所在;但我想说的是尝试response.responseText
而不是response
。
另外,该行:
$('#imagecontainer').children("#imagepreview").remove();
也可能是:
$('#imagepreview').remove();
因为我假设您的ID是唯一的:)
答案 1 :(得分:0)
在将图像附加到容器后,您似乎正在将图像添加到图像中。而且你要添加的新图像是否应该具有“imagepreview”的ID?
'onComplete' : function(response)
{
var img = new Image();
$(img).load(function()
{
$("#imagepreview").remove();
$(this).attr({'src':response, 'id': 'imagepreview'});
$('#imagecontainer').append(this);
$(this).fadeIn();
});
}