當用戶提交一個html表單(method =「post」)後,它將它們帶回到它們所在的頁面(但其中一些數據已更改)。如果用戶刷新頁面,則再次提交表單。在我的應用程序中,這可能會創建一個非法狀態(因爲表單數據未經驗證就提交)。當用戶刷新頁面時,HTML表單被重新提交 - 我如何阻止這種情況發生?
如何防止在用戶刷新頁面時提交表單?
下面是一些示例代碼給大家是怎麼回事的一個基本思想:
<script type="javascript">
function verifyForm() {
//do stuff
}
...
<form onsubmit="return verifyForm();" method="post">
<input name="testing" type="text" size="8" />
<input name="save" type="submit value="Submit Form" />
</form>
然後在JSP控制器:
public class myController implements Controller
{
@Override
public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws Exception
{
// do stuff with the form data received in the request
}
}
有幾個地方我也許能解決這個問題:在html頁面本身,或者在控制器(在jsp中使用MVC模式)。到目前爲止,我發現this question幾乎似乎適用於我的問題,但似乎並沒有問同樣的事情(也沒有使用PHP)。
http://en.wikipedia.org/wiki/Post/Redirect/Get – PeeHaa