<img src="test.php" />
где test.php генерирует изображение со случайным числом.Как обновить src <img /> с помощью jQuery?
Itried:
Но это не работает.
<img src="test.php" />
где test.php генерирует изображение со случайным числом.Как обновить src <img /> с помощью jQuery?
Itried:
Но это не работает.
Вы можете принудительно обновить путем добавления случайной строки в конце, тем самым изменяя URL:
$('#verifyimage').click(function() {
$(this).attr('src', $(this).attr('src')+'?'+Math.random());
});
Добавить метку или случайное число:
var timestamp = new Date().getTime();
$(this).attr('src',$(this).attr('src') + '?' +timestamp);
Временная метка - лучшее решение! Вы не можете полагаться на случайные, чтобы иногда быть одинаковыми. – jerwood
попробовал это, но проблема в хроме. Изображение src добавляется с отметкой времени, но миниатюра не обновляется. Можете ли вы предложить мне что-нибудь по этому поводу? –
@RohanPatil - здесь есть очевидная проблема: вы хотите ** добавить или обновить ** параметр ** запроса ** - этот код является лишь частичным решением - он предполагает, что для начала нет параметров запроса (Кроме того, , Я подозреваю, что он работает только один раз). – Kobi
В test.php наборе заголовки Content-Type:
по image/jpeg
Принимая 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;
});
});
EW. Нет, не надо. Вместо этого настройте соответствующие заголовки ответов кэширования на сервере. –
'Cache-control',' Expires' и др. работает только после получения HTTP-запроса, - это просто заставить клиента выполнить этот запрос. В отсутствие «Image.reload» (AFAIK) это был самый простой способ сделать новый запрос –
, если бы подстрока атрибута src была «?» так что после первого раза он не добавляет больше данных о querystring ... – Tracker1