Php 会话闪存消息执行两次Laravel
我的会话闪存消息有问题 我有这样一个简单的逻辑Php 会话闪存消息执行两次Laravel,php,laravel,session,laravel-5,Php,Laravel,Session,Laravel 5,我的会话闪存消息有问题 我有这样一个简单的逻辑 if(empty($code)) { return redirect()->back()->with('modal', 'working'); } 在我的视图文件中,我正在进行警报测试 @if(session('modal')) <script> alert('working'); </script> @endif @if(会话('mod
if(empty($code))
{
return redirect()->back()->with('modal', 'working');
}
在我的视图文件中,我正在进行警报测试
@if(session('modal'))
<script>
alert('working');
</script>
@endif
@if(会话('modal'))
警报(“工作”);
@恩迪夫
问题是这个警报('working')代码>执行两次。所以,当它重定向回时,一次它立即执行,第二次它在加载文档后执行
我尝试了各种解决方法,如删除会话密钥、加载准备好使用javascript的文档,但都不起作用
有什么问题吗?您应该像这样使用laravel helper
$request->session()->flash('status','Task was successful!')代码>
returnback()代码>假设您正在使用引导
以下是我的做法:
在视图中创建一个名为:alerts的新文件夹,并在其中创建一个名为alerts.blade.php的文件
粘贴:
@if (Session::has('success'))
<div class="alert alert-success alert-dismissable">
<button type="button" class="close" data-dismiss="alert" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
{{ Session::get('success') }}
</div>
@elseif (Session::has('error'))
<div class="alert alert-danger">
<button type="button" class="close" data-dismiss="alert" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
{{ Session::get('error') }}
</div>
@elseif(Session::has('warning'))
<div class="alert alert-warning">
<button type="button" class="close" data-dismiss="alert" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
{{ Session::get('warning') }}
</div>
@endif
通过这种方式,您不必不断地向每个包含任何消息的页面添加HTML,因为您只需包含一个文件,当调用该文件时,该文件将被标记
我知道最初的化妆看起来有点冗长,但最终它会为您节省大量时间您的html代码中可能会有两次这样的化妆。你能用浏览器检查html代码并检查你是否有两次吗?你能粘贴你有问题的控制器和刀片吗
Session::flash('success', 'Success message here')
return redirect()->back();
Session::flash('error', 'Error message here')
return redirect()->back();
Session::flash('warning', 'warning message here')
return redirect()->back();