2017-03-08 2 views
0

In meinem Controller:Laravel toastr js-Meldung zeigt auf jeder Seite

public function showFreelancers(Request $request) 
    { 
     $authUser = Auth::user(); 
     session()->put('success','Item created successfully.'); 
     return view('freelancer/index',compact('authUser')); 
    } 

Ich habe nur eine session()->put('success','Item created successfully.'); in meinem ganzen Controller.

Meine Layout-Seite haben den untenstehenden Code von oben. Und von unten alle js-Dateien.

<script> 

    @if(Session::has('success')) 
     toastr.success("{{ Session::get('success') }}"); 
    @endif 

    @if(Session::has('info')) 
     toastr.info("{{ Session::get('info') }}"); 
    @endif 

    @if(Session::has('warning')) 
     toastr.warning("{{ Session::get('warning') }}"); 
    @endif 

    @if(Session::has('error')) 
     toastr.error("{{ Session::get('error') }}"); 
    @endif 

</script> 

Wenn ich Route::get('/','[email protected]')->name('FreelancerIndex'); getroffen bekomme ich die Meldung, die in Ordnung ist! Aber wenn ich eine andere Route öffne, bekomme ich genau die gleiche Benachrichtigung.

Was mache ich hier falsch?

Antwort

0

Sie drängen es tatsächlich in die Sitzung permanent statt vorübergehend. Sie können verwenden

session()->flash('key', 'value') 

Jetzt wird es nur auf der nächsten Seite statt auf jeder Seite blinken. Sie müssen Ihre Sitzung auch löschen, nachdem Sie sie in flash()

geändert haben
Verwandte Themen