Вопрос

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

Это было полезно?

Решение

Похоже на проблему с кешированием. Попробуйте добавить некоторые строки, найденные здесь , в свой файл Ashx, и это должно надеюсь, заставит браузер повторно запросить изображение. (Я знаю, что ссылка предназначена для ASP, а не для ASP.NET, но такие вещи, как Response.Expires = -1 должны работать)

Кроме того, вы можете изменить путь к изображению в панели обновления? Если вы просто добавите случайный параметр в его конец, браузер будет обрабатывать его как новый запрос (мы используем текущую дату / время в качестве параметра, когда мы делаем это. Параметр игнорируется ASP.NET, если вы не явно указывать на это)

Другие советы

Сделайте что-то вроде этого:

var sPath = " ../../ handlers / ProcessSignature.ashx? type = View & amp; UserID = " + userID + & amp; d = " + (((1 + Math.random ()) * 0x10000) | 0) .toString (16) .substring (1);

Это помещает 4-символьную буквенно-цифровую строку в конец строки запроса. В этом нет необходимости, но это заставит браузеры выбирать последнюю версию этого изображения, поскольку URL-адрес другой.

Я попробовал описанное выше, и некоторые браузеры игнорируют заголовки. Я добавил все это, и Chrome / FireFox 3 не пытался обновить.

IE7 иногда работал

IE6 просто вертел свои пальцы и спросил, почему он все еще существует.

Изменение указанного выше пути исправит это во всех браузерах.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top