Есть авторизованный пользователь, форма, скрипт для выдачи одноразовой ссылки продукта.
Проблема — пользователь нажимает на кнопку обновления , делается новый запрос , и он скачивает 2,3, и т.д. раз.
Джава скрипты не эффективны!
Нагуглил систему POST / Redirect / GET !
Есть даже описание;Проблема решается разбиением запроса пользователя на несколько этапов. Первый этап (POST) отправка пользователем данных и после выполнения метода POST происходит следующее — клиент получает не 2хх статус, а 3хх (Redirect). Второй этап (Redirect) — перенаправление на нужную страницу (например «операция успешно выполнена») и теперь когда пользователь обновит страницу, то запрос (GET) уже будет не к странице с заполненной формой, а к перенаправленной странице (где обычно сообщение об статусе операции).
Важно подчеркнуть момент с перенаправлением на другую страницу и как происходит очищение данных пользователя, чтобы он не смог их отправить повторно. Рассмотрим отличия операций Forward и Redirect.
Но у меня ничего не получилось.
Если у кого по этой схеме получилось, отпишитесь по шагам, буду благодарен.
Ну так, при обработке post, кладёшь свою одноразовую ссылку в сессию, и перенаправляешь на страницу, которая покажет её пользователю