Подтвердить что ты не робот

Как обновить src <img /> с помощью jQuery?

<img src="test.php" />

где test.php генерирует изображение со случайным числом.

Женат:

$('#verifyimage').click(function() {
        $(this).attr('src',$(this).attr('src'));
    });

Но это не сработает.

4b9b3361

Ответ 1

Вы можете принудительно обновить, добавив случайную строку в конец, тем самым изменив URL-адрес:

$('#verifyimage').click(function() {
    $(this).attr('src', $(this).attr('src')+'?'+Math.random());
});

Ответ 2

Добавьте временную метку или случайное число:

var timestamp = new Date().getTime();
$(this).attr('src',$(this).attr('src') + '?' +timestamp );

Ответ 3

Принимая KPrimes отличный ответ и добавляя предложение трекеров, вот что я придумал:

jQuery(function($) {
    // we have both a image and a refresh image, used for captcha
    $('#refresh,#captcha_img').click(function() {
       src = $('#captcha_img').attr('src');
   // check for existing ? and remove if found
       queryPos = src.indexOf('?');
       if(queryPos != -1) {
          src = src.substring(0, queryPos);
       }    
       $('#captcha_img').attr('src', src + '?' + Math.random());
       return false;
    });
});

Ответ 4

В test.php установите заголовки от Content-Type: до image/jpeg