Изображение для предварительного просмотра не всегда перезагружается с использованием JQuery и плагина AJAX Upload jQuery - PullRequest
0 голосов
/ 01 августа 2011

У меня есть сайт, где я могу загрузить изображение, и я использую систему предварительного просмотра, где я показываю выбранное изображение. Проблема в том, что изображение SOMETIMES загружается в предварительный просмотр div, но в остальном оно остается прежним. Однако, если я нажму кнопку обновления, изображение действительно изменится. Следовательно, действие контроллера определенно вызывается, оно просто не всегда обновляет изображение предварительного просмотра. Это мой код:

<img name="liga_r2_c3" src="/../images/ligasDeAmigos/prizes/<?php print $model->prize_photo?>" width="100" height="100" border="0" id="liga_r2_c3" alt=""/>

new AjaxUpload('liga_r2_c3', {
            action: 'uploadImage',
            data: {
                liga_id : liga,
                isPrize : 'true',
            },
            onComplete: function(file, response) {
                  var liga = $("#hidden_prize_picture").val();
                  var ruta = "/../images/ligasDeAmigos/prizes/"+liga+ '?rid=' + Math.random(); 
                  $('#liga_r2_c3').attr('src',ruta);
            }
        }); 

1 Ответ

2 голосов
/ 01 августа 2011

Учитывая предсказуемость Math.random (), вы уверены, что не сталкиваетесь с дублирующимися случайными значениями?Date.getTime был бы намного лучшим решением здесь, так как он должен дать вам уникальный идентификатор между обновлениями.

<img name="liga_r2_c3" src="/../images/ligasDeAmigos/prizes/<?php print $model->prize_photo?>" width="100" height="100" border="0" id="liga_r2_c3" alt=""/>

new AjaxUpload('liga_r2_c3', {
            action: 'uploadImage',
            data: {
                liga_id : liga,
                isPrize : 'true',
            },
            onComplete: function(file, response) {
                  var liga = $("#hidden_prize_picture").val();
                  var d = new Date();
                  var ruta = "/../images/ligasDeAmigos/prizes/"+liga+ '?rid=' + d.getTime(); 
                  $('#liga_r2_c3').attr('src',ruta);
            }
        }); 
...