Опубликовать-Перенаправить-Получить с помощью Internet Explorer

У меня есть веб-страница, которая реализует шаблон post/redirect/get , чтобы избежать двойных сообщений в простом приложении CRUD.

Предполагаемая последовательность запроса/ответа здесь следующая::

  1. браузер отправляет данные черезPOST
  2. сервер изменяет БД, отвечает статусом 302 Moved Temporarilyи заголовком Location
  3. браузер выполняет перенаправление через серверGET
  4. отвечает обновленной страницей

Вот как это должно работать — и это работает, например, в Chrome.

Однако Internet Explorer 9 отправляет шаг 3 как POST, а также (включая полный набор данных формы! ). Почему? Что мне сделать, чтобы он использовал GET?

Я должен добавить, что помимо строки запроса перенаправление идет в то же место, что и цель формы.

Я пробовал:

  • все доступные режимы рендеринга (IE7, IE8, IE9, Quirks, Standards, Compat)
  • полный DOCTYPE
  • относительный URL-адрес или абсолютный в Locationзаголовок
  • Статус HTTP 303 (просто посмотреть, имеет ли это значение)
10
задан Josh Lee 28 March 2012 в 16:55
поделиться