2011-04-16 165 views
1

我在這裏遇到了一些問題。其實,更多的是一個煩惱。當表單提交後點擊'返回'按鈕時,防止瀏覽器激活

我有我的索引頁面上的表單,有一個小的搜索形式:

<form action="search.php" method="post">
<input name="search" type="text" />
<input type="submit" name="submit">

現在上的search.php文件,我只是用$ _ POST [「搜索」]檢索值我正在尋找。該文件還顯示實際的搜索結果,我可以點擊該結果進入該頁面。搜索實際上是在數據庫上完成的。此外,由於我的搜索從DB返回前10個隨機結果,如果我點擊「後退」按鈕並確認警告,搜索將再次執行,並返回一組不同的結果。

如您所知,問題在於,當您點擊其中一個搜索結果,然後在瀏覽器中點擊'返回'時,您會看到該瀏覽器警告'要顯示此頁面,Firefox必須發送信息重複之前執行的任何操作(例如搜索或訂單確認)。'。

防止這種情況發生的最簡單方法是什麼?我研究了PRG技術,但我不確定如何實現這一點。

任何幫助將是偉大的。 謝謝。 布魯諾。

回答

1

這裏可以使用GET方法,如果用GET方法發送表單,用戶不會看到警告。

+0

我可以,但我實際使用的窗體有相當多的字段,不像上面的簡單示例。沒有敏感信息從搜索表單傳遞,只是URL看起來很亂。 – Bruno 2011-04-16 14:27:53

+2

我能想到的其他解決方案是在這種情況下使用Ajax – 2011-04-16 14:29:33

相關問題