JQuery проблемы с атрибутом - PullRequest
0 голосов
/ 23 июня 2011

Я пытаюсь загрузить изображение с помощью 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 есть идеи?

спасибо!

Ответы [ 2 ]

3 голосов
/ 23 июня 2011

Убедитесь, что в avatar.url <есть переменная <strong>defined, которая может быть причиной проблемы

0 голосов
/ 23 июня 2011

Возможно, серверная сторона должна возвращать действительный JSON, который будет проанализирован и отправлен в onComplete в качестве третьего параметра функции.

Если JSON не может быть получен, вы получите пустой объект.

Do:

console.log(avatar);

внутри обратного вызова, чтобы проверить, что на самом деле находится в этом третьем параметре.

...