Как перенаправить после успешного запроса DELETE - PullRequest
3 голосов
/ 25 апреля 2011

У меня есть HTML-форма, выполняющая запрос DELETE (method = POST & hidden X-HTTP-Method-Override = DELETE)

Когда запрос DELETE успешен, как я могу сказать браузеру перенаправить на другую страницу? В порядке ли расположение заголовка 303 +?

В настоящее время браузер не отображает пустой ответ, но сохраняет предыдущий ответ (я думаю, из-за кода состояния 204). Если я добавлю заголовок местоположения (все еще 204 кода состояния), это не изменит местоположение.

С местоположением 303 + у меня желаемое поведение, но мне интересно, является ли 303 действительным кодом состояния после успешного удаления. Как насчет 202 (Принято) УДАЛИТЬ?

1 Ответ

2 голосов
/ 26 апреля 2011

303 плюс Расположение - лучший выбор. Не беспокойтесь о том, что означает или означает «успешное УДАЛЕНИЕ», потому что вы используете POST с другим набором семантики, а 303 создан специально для перенаправления запросов POST :

10.3.4 303 См. Другое

Ответ на запрос может быть найден под другим URI и ДОЛЖЕН быть получен с использованием метода GET для этого ресурса. Этот метод существует главным образом, чтобы позволить выводу сценария, активированного POST, перенаправить пользовательский агент на выбранный ресурс. Новый URI не является заменой ссылки на первоначально запрошенный ресурс. Ответ 303 НЕ ДОЛЖЕН кэшироваться, но ответ на второй (перенаправленный) запрос может быть кэширован.

...