Есть, например, начальная страница index, и есть страница с формой.
Как сделать так, чтобы при нажатии на button формы, произошел редирект на главную страницу, с последующим выполнением определенного js кода (уже на главной странице)? При чем, этот код будет выполняться только при редиректе, если просто перейти на главную, то ни чего не произойдет.
Добавлять ключ в сессионстораге при нажатии на button формы. При загрузке главной проверять, есть ли это значение. Если есть, выполнять код и стирать значение.
При этом POST параметры сохраняются в браузере и могут быть использованы ещё раз.
Нет. Тут именно редирект правильное решение с запоминанием в куках или в сторейдже.
ProjectSoft, Вариант с GET-параметром тоже «страдает» от этого. Да, есть паттерн POST/redirect/GET, но бывает вариант, когда допустимо переотправлять данные с перезагрузкой страницы. Еще вариант с установкой nonce параметра / CSRF-защитного токена, и тогда повторная отправка будет очевидна.
Local Storage плох тем, что не работает в Приватном режиме некоторых браузеров.