Как получить веб-часть для обновления в IE?

У меня есть веб-часть SharePoint, которая получает данные XML со страницы.ASHX, анализирует их и отображает с помощью JavaScript. Все работает нормально, пока XML не изменится. Когда я просматриваю веб-часть в IE, новые данные не обновляются, пока я не закрою браузер. Даже выполнение CTRL-F5 не захватывает новые данные.

Firefox отображает новые данные немедленно, просто обновив страницу.

Я добавил метку времени в строку запроса моей страницы.ASHX, чтобы результат XML не кэшировался, но это не помогло исправить мои проблемы с IE. Есть другие идеи?

редактировать
Страница.ASHX использует API для доступа к списку и создает строку XML, а затем возвращает ее как application/XML Тип содержимого. Я подтвердил, что XML обновлен, чтобы отразить новые данные в списке. Я также могу видеть данные, используемые в веб-части, когда они отображаются в FireFox.

Решение
Я на самом деле генерировал метку времени, чтобы добавить к моему запросу в коде сервера, а затем поместил эту строку в JavaScript. Как только я переместил код метки времени в javascript, все стало работать намного лучше.

2 ответа

Решение

Скорее всего, он кешируется, нет другого логического объяснения, почему он будет работать в Firefox, а не в IE. Попробуйте перезагрузить IE несколько раз подряд.

Проверьте, какие заголовки устанавливает страница.ashx.

Кэшировать страницу может не только ваш браузер, любое промежуточное ПО, включая веб-сервер, может иметь некорректную реализацию кэширования. Вы также можете попробовать использовать HTTP POST вместо GET, поскольку согласно спецификации HTTP запросы POST никогда не должны кэшироваться.

Это пользовательская веб-часть или одна из готовых веб-частей? Было бы легче помочь вам, если бы вы предоставили больше информации о том, как вы извлекаете данные из HttpHandler (ashx).

Другие вопросы по тегам