2017-10-03 37 views
0

ajax経由でログインできたらフラッシュメッセージを表示できません。Laravel AJAX経由のログイン:Flashメッセージが表示されない

私はSession::put() & Session::forget()も修正しようとしました。しかし、それは動作しませんでした。

修正方法?

LoginController

//Overriding 
protected function authenticated(Request $request, $user) 
{ 
    Session::flash('loginSuccess', 'Welcome Back <b>'.$user->full_name.'</b>!'); 
    return redirect()->route('home'); 
} 

Js

$.ajax({ 
    url: form.action, 
    type: form.method, 
    data: $(form).serialize(), 

    success: function(response){ 
     $('#log-v-error').html(''); 
     window.location.href='/'; 
    }, 
}); 

Views

@if(Session::has('loginSuccess')) 
    <div class="alert alert-warning">{!! Session::get('loginSuccess') !!}</div> 
@endif 
+1

とにかくリダイレ​​クトする場合、なぜAjaxを使用しますか? – Webdesigner

答えて

0

フラッシュは、AJAX成功関数に起こっているだけで、現在の応答のために設定されています。

window.locationは、フラッシュを接続しないでロードする2番目の要求をトリガします。

リダイレクトを返す代わりに、成功値を返す必要があります。その後、リダイレクトを開始する前に成功関数がメッセージを表示することができます。

関連する問題