Session-Daten bleiben nach der Umleitung nicht erhalten

Ich versuche, einige benutzerdefinierte Flash-Nachrichten zu implementieren, und es treten Probleme mit den Sitzungsdaten auf, die nach einer Umleitung zerstört werden.

So erstelle ich meine Flash-Nachrichten:

flash('Your topic has been created.');

Hier ist die Erklärung desflash() Funktion:

function flash($message, $title = 'Info', $type = 'info')
{   
    session()->flash('flash', [
        'message' => $message,
        'title' => $title,
        'type' => $type,        
    ]); 
}

Und hier ist, wie ich die Sitzung überprüfe / die Flash-Nachrichten mit SweetAlerts anzeige. Dieser Code befindet sich unten in der Hauptlayoutdatei, die ich in allen meinen Blade-Vorlagen erweitere.

@if(Session::has('flash'))
    <script>
        $(function(){
            swal({
                title: '{{ Session::get("flash.title") }}',
                text : '{{ Session::get("flash.message") }}',
                type : '{{ Session::get("flash.type") }}',
                timer: 1500,
                showConfirmButton: false,           
            })
        });         
    </script>
@endif

Der obige Code funktioniert, wenn ich das @ anruflash() -Funktion vor dem Anzeigen einer Ansicht, wie folgt:

public function show($slug)
{
    flash('It works!');
    return view('welcome');
}

Es funktioniert jedoch nicht, wenn ich es vor einer Weiterleitung zu einer anderen Seite aufrufe:

public function show($slug)
{
    flash('It does not work');
    return redirect('/');
}

Warum gehen die Sitzungsdaten bei der Umleitung verloren? Wie kann ich dafür sorgen, dass die Flash-Nachricht angezeigt wird?

Antworten auf die Frage(14)

Ihre Antwort auf die Frage