我正在尝试使用jquery上传图片。并且上载应该在不刷新页面的情况下完成。
代码:
var uploader = new qq.FileUploaderBasic({
element: document.getElementById('file-uploader'),
button: $('#account #picture .header')[0],
action: '<?= Route::url('Account Upload Avatar'); ?>',
allowedExtensions: ['png', 'jpg', 'gif'],
onSubmit: function()
{
},
onComplete: function(id, fileName, avatar)
{
$('#loader').hide();
$('#picture img').attr('src', responseJSON + '?' + (new Date).getTime());
}
});
我上传图片的地方:
<div id="picture">
<div class="header">
Schimba-ti poza
</div>
<img src="<?= $image->avatar_url ?>"></img>
</div>
问题是:上传是正确的,但我只有在刷新页面时才能看到新图片。否则,当我上传一张新图片时,旧图片就消失了,取而代之的是一个破碎的图片图标,如果我检查这个元素,我会发现:<img id="picture" src="undefined?1308840720252">
所以我得到了那个未定义的..我猜是因为那个攻击者。我正在使用jquery 1.6.1,有什么想法吗?
谢谢!
发布于 2011-06-23 21:59:21
确保avatar.url
<--中有一个defined
变量,这可能是导致问题的原因
发布于 2011-06-23 22:01:56
您的服务器端应该返回有效的JSON,它将被解析并作为第三个函数参数发送到onComplete
。
如果无法接收JSON,您将收到一个空对象。
执行以下操作:
console.log(avatar);
在回调中检查第三个参数的实际内容。
https://stackoverflow.com/questions/6455219
复制相似问题