Redirect-after-post - это метод, позволяющий избежать проблем с обновлением пользователя или использованием кнопки «Назад» для возврата к опубликованной форме. Короче говоря, вместо предоставления страницы ответа для сообщения HTTP, которое при перезагрузке вызывает другое сообщение, вы запускаете перенаправление 303 (или 302) для поддержки древних браузеров, воспользовавшись ошибкой, которая так же стар, как в Интернете). Это заставляет браузер выдавать второй HTTP-запрос - на этот раз - и, если страница ответа на него перезагружается, проблем не должно быть. Просто убедитесь, что все изменения внесены обработчиком постов, и страница, на которую вы перенаправляете, не имеет побочных эффектов.
Если вы публикуете сообщение с помощью XMLHttpRequest
, тогда будет выполняться перенаправление; если вы специально не поддерживаете его, используя хеш-часть местоположения или новые методы истории HTML5 , тогда кнопка возврата и перезагрузка не будут вызывать публикацию AJAX снова.