У меня есть веб-страница, которая реализует шаблон post/redirect/get, чтобы избежать двойных сообщений в простом CRUD-приложении.
Предполагаемая последовательность запросов/ответов:
- браузер отправляет данные через
POST
- сервер изменяет БД, отвечает со статусом
302 Moved Temporarily
и заголовкомLocation
- браузер следует за перенастройкой через
GET
Сервер - отвечает на обновленную страницу
Вот как он должен работать - и это происходит, например, в Chrome.
Однако Internet Explorer 9 также отправляет шаг 3 как POST
(включая полный набор данных формы!). Зачем? Что делать, чтобы использовать GET
?
Я должен добавить, что помимо строки запроса перенаправление переходит в то же место, что и целевой объект формы.
Я пробовал:
- все доступные режимы рендеринга (IE7, IE8, IE9, Quirks, Standards, Compat)
- полный DOCTYPE
- относительный URL-адрес или абсолютный в заголовке
Location
- Состояние HTTP 303 (просто чтобы узнать, не имеет значения)