如何在刷新页面时阻止我的表单重新提交。我发现的解决方案建议使用重定向,我正在使用。
视图中的表单 admin.enrollform.blade.php :
<form id="enrollform" class="form-horizontal" role="form" method="post"
enctype="multipart/form-data"
action="{{route('storeStudent', ['site' => $site->site_url, 'lang' => $lang] )}}">
<input type="visible" name="_token" id="_token" value="{{ csrf_token() }}"/>
...
</form>
laravel控制器:
public function store(Request $request, $site, $lang = null)
{
....
return view('admin.enrollform', [
'message' => $message
]);
}
如果成功,控制器将返回一个指向同一页面的视图。因此,再次加载相同的页面,并显示一条消息。表格是空的。
但是,如果此时单击“刷新”,表单将再次提交。我想它只是刷新页面,无论是否有从控制器收到的消息。
我有什么方法可以使用CSRF令牌来验证这一点吗?根据我的理解,CSRF令牌仅验证会话是否有效,并且与表单本身无关。
感谢。
答案 0 :(得分:3)
使用return back()
return back()->with(['message' => $message]);