2015-10-16 3 views
5

На веб-сайте недвижимости Я работаю над созданием формы «Связаться с нами» на странице «Сведения о недвижимости», где пользователь может нажать кнопку «Связаться с нами», которая загрузит форму в модальный диалог, iframe, загружающий форму контакта, заполните некоторые детали и отправьте их.Хром тихо повторяет форму в iframe на кнопке браузера

После того, как форма обработана на стороне сервера, я должен испустить код JavaScript с сервера, который вызывает метод закрытия диалогового окна, а затем перенаправляет пользователя на страницу благодарности (если бы я сделал простую переадресацию на сервере, iframe получите страницу благодарности, которую я не хочу).

Проблема в Chrome, где, если вы нажмете кнопку «Назад» браузера, контактная форма будет спокойно повторно отправлена.

Примечание: IE и Firefox не имеют этой проблемы вообще.

Я нашел следующие ссылки полезны, но не ответ на мою проблему:

Мы пытались вар чтобы избежать обхода проблемы в Chrome, как скрытые поля, застрахованный кеш отключен, уничтожить iframe перед перенаправлением на страницу благодарности. Ничто не возобновляет повторную отправку формы, даже не спрашивая, хотите ли вы повторно отправить ее (не нужно ее повторно отправлять).

+0

Если это ошибка браузера, вы ничего не можете поделать, чтобы исправить эту проблему. Мое предложение состояло бы в том, чтобы использовать архитектуру одностраничного приложения даже для этого небольшого раздела, поэтому нет кнопки возврата или, по крайней мере, не перегружает родительский документ. – Alex

+0

Вы контролируете Iframe, где у вас есть контакт с нами? Или это внешнее? – SilentTremor

+0

@SilentTremor это наша форма, поэтому мы имеем полный контроль. Почему ты думаешь? – Jacques

ответ

0

Только что сталкивайтесь с этой проблемой, то, что я собираюсь сделать, состоит в том, что вы используете одноразовый токен (т.е. GUID) в форме, которая, если мы повторно обнаружим на сервере, мы можем игнорировать сообщение формы. Возможно использование состояния сеанса на сервере для отслеживания - очень похоже на Rails authenticity token

Смежные вопросы