2015-10-16 37 views
5

在我正在處理的房地產網站上,我在Property Details頁面上有一個Contact Us表單,用戶可以單擊Contact Us按鈕,該表單將加載模式對話框,加載聯繫我們表單的iframe,填寫一些細節併發送。Chrome在瀏覽器後按鈕上悄悄地重新提交表單iframe

一旦表單處理完畢,服務器端我必須從調用對話框關閉方法的服務器發出JavaScript代碼,然後將用戶重定向到一個感謝頁面(如果我在服務器上做了一個簡單的重定向,iframe會得到我不想要的感謝頁面)。

問題出在Chrome中,如果您點擊瀏覽器的後退按鈕,聯繫表單將悄然重新提交。

注意:IE和Firefox根本就沒有這個問題。

我發現下面的鏈接有用的,但沒有回答我的問題:

我們試圖VAR錯誤,就不斷復出,在過去幾年中)技術來解決隱藏字段中的Chrome問題,保證緩存關閉,在重定向到謝謝頁面之前銷燬iframe。沒有它保持重新提交表格,甚至沒有問,如果你想重新提交(而不是它應該重新提交)

+0

如果是瀏覽器錯誤,則無法解決問題。我的建議是,使用單頁應用程序體系結構,即使是這個小部分,也沒有後退按鈕,或者至少沒有重新加載父文檔的按鈕。 – Alex

+0

你正在控制Iframe,你有聯繫我們的形式?或者它是外部的? – SilentTremor

+0

@SilentTremor這是我們的形式,所以我們有完全的控制權。爲什麼你在想什麼? – Jacques

回答

0

只是遇到這個問題,我想要做的是包括某種一次性令牌(即GUID)的形式,如果我們在服務器上重新檢測,我們可以忽略表單文章。可能在服務器上使用會話狀態以保持跟蹤 - 很像Rails authenticity token