Проблема с кешированием Jquery / ajax - Firefox не обновляет измененные изображения - PullRequest
1 голос
/ 01 февраля 2012

Я работаю над сценарием, который загружает и обрезает изображения. Он основан на jquery / ajax. Идея состоит в том, что после загрузки изображения оно отображается в div без перезагрузки страницы. Это делается с помощью функции jquery ajax. Каждое изображение имеет затем кнопку «обрезать», которая при нажатии открывает простое модальное окно, в котором можно обрезать и сохранить изображение. После сохранения модальные окна закрывают и обновляют div, снова загружая его содержимое с помощью ajax. Это было у меня проблема. Firefox по какой-то причине сохраняет старое изображение на экране и не обновляет его для отображения обрезанной версии.

Я уже перешел с функции load () на функцию ajax () (с cashe: false param). Я добавил php no-cache header и также добавляю случайную строку в вызываемый URL. На Firefox ничего не помогает (на chrome все нормально)

Есть идеи?

Код:

function load_posted_images(){

$.ajax({
    url: "/ajax/ad_wizard_images.php?uid=1&rand=" + new Date().getTime(),
    type: "POST",
    cache: false,
    success: function(data) {
        $('#image-list').html(data);
    }
});}

Ответы [ 4 ]

1 голос
/ 01 февраля 2012

В любом случае вы можете попытаться сохранить обрезанное изображение под другим именем (например, добавить несколько цифр в конце). Затем, когда вы обновляете div, вы указываете имя нового изображения.

0 голосов
/ 20 февраля 2014

Это сработало для меня (в функции php):

$ time = date ('Hi-s');

echo ""

Это не 't изменить имя файла, но делает изображение src уникальным и предотвращает проблему кэширования.

0 голосов
/ 22 мая 2012

Я был в подобной ситуации, возвращаемое содержимое ajax не обновлялось, в итоге я добавил уникальные строки к возвращаемому контенту, который, казалось, делал свое дело .... просто так, что возвращаемый контент отличается от того, который мог бы будьте кэшированы, jQuery уже добавляет уникальное значение переменной в запрос, но это не имеет значения в моей ситуации.

0 голосов
/ 01 февраля 2012

Есть ли вероятность, что вы можете опубликовать код, который вы используете для обновления изображения?

Не можете ли вы просто изменить атрибут src на изображении, чтобы сохранить получениеизображение с использованием ajax?

$('img').attr('src', $('img').attr('src')+new Date().getTime();)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...