Кнопка возврата IE6 и репост - PullRequest
0 голосов
/ 02 февраля 2009

Мой сайт является веб-сайтом asp.net-mvc (бета1), полностью проверяет и работает во всех браузерах (за исключением, очевидно, IE6 в этом отношении).

Я могу воспроизвести ошибку, выполнив следующее:

  1. Сделать запрос POST с некоторыми параметрами
  2. Из результатов нажмите одну из сгенерированных ссылок GET
  3. Нажатие кнопки «НАЗАД» на странице результатов.

Иногда кнопка «назад» ничего не делает (страница последнего запроса остается на экране, статус «Готово»)
Иногда отображается совершенно пустая страница с правильным URL и статусом «Готово»
Иногда страница res: //ieframe.dll/repost.htm отображается с заголовком «Не удается найти сервер».

Мне еще предстоит найти фактор запуска ..

Я предполагаю, что IE не кеширует что-то там, поэтому он будет повторно публиковать URL. Кажется, ничто не ударяет мой контроллер.

Что происходит? Как я могу начать отлаживать это или даже лучше: исправить это?

Ответы [ 3 ]

4 голосов
/ 02 февраля 2009

Реализация POST + REDIRECT + GET ?

1 голос
/ 02 февраля 2009

IE не будет повторно публиковать без запроса пользователя. Если IE не кеширует страницу результатов (проверьте, какие заголовки кеша вы отправляете), вы должны получить приглашение на репост. Я не знаю, почему вместо этого вы получите «Сервер не найден» - похоже на запутанную установку IE. (Это установка с несколькими IE?)

Как уже упоминалось выше, post-redirect-get обычно желателен для успешных почтовых форм.

0 голосов
/ 02 февраля 2009

Чтобы проанализировать трафик между браузером и сервером, вы должны поставить Fiddler в следующих.

Таким образом, вы узнаете, отправляет ли IE6 какой-либо запрос обратно на сервер после нажатия кнопки «Назад».

...