2017-03-08 60 views
0

在我的控制器上:laravel toastr JS通知顯示每個頁面

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

我只有一個session()->put('success','Item created successfully.');在我的整個控制器。

我的佈局頁面有以下代碼剛剛從上面。從下面的所有js文件。

<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> 

當我打Route::get('/','[email protected]')->name('FreelancerIndex');我得到的消息是好的!但是當我打開另一條路線時,我會得到完全相同的通知。

我在做什麼錯在這裏?

回答

0

您實際上是將其推入會話中而不是暫時。您可以使用

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

現在它只會在下一頁而不是每頁都閃爍。您還需要在將其更改爲flash()

後清除會話