我正在使用flashdata显示表单提交的响应,但它永远存在。
例如,当表单经过验证并成功提交时,会显示成功消息,无论我刷新页面或转到其他页面多少次,它仍会显示成功消息。
我的重定向(验证后)如下:
// Redirect back with success message
return redirect()->back()
->with('form_' . $form->identifier . '_response', json_encode([
'status' => 'success'
]));
在视图中,它会像这样检查:
@if(session('form_'.$form->identifier.'_response'))
@if(json_decode(session('form_'.$form->identifier.'_response'),true)['status'] == 'success')
<div class="alert alert-success">Form has been submitted, thank you!</div>
@endif
@endif
但它首次提交后一直显示成功div。有谁知道在哪里寻找问题?谢谢!
答案 0 :(得分:0)
我发现它不是在其中一个控制器中包含 <style>
{{ source('/Bundle/Resources/public/css/'~var~'/main.css', ignore_missing = true) }}
</style>
中间件,这是一个愚蠢的错误。
表单处理程序控制器包含web
中间件,因此它会设置会话,但显示表单的控制器没有该中间件,因此它不会从会话中删除闪存数据。