У меня есть веб-страница, которая реализует шаблон 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 (просто чтобы понять, имеет ли это какое-то значение)