jquery attr问题

时间:2011-06-23 13:56:25

标签: jquery image attr

我正在尝试使用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">所以我得到了那个未定义的...我猜这是因为那个attr。 我正在使用jquery 1.6.1 任何想法?

谢谢你!

2 个答案:

答案 0 :(得分:3)

确保defined < - 的 avatar.url 变量 - 可能是导致问题的原因

答案 1 :(得分:0)

您的服务器端可能应该返回有效的JSON,它将被解析并作为第三个函数参数发送到onComplete

如果无法收到JSON,您将收到一个空对象。

执行:

console.log(avatar);
回调中的

来检查第三个参数中的实际内容。