Laravel 5.6 не может получить доступ к данным пользователя после входа в Ajax - PullRequest
0 голосов
/ 23 мая 2018

У меня есть модальный логин и я хочу войти с Ajax в Laravel 5.6.Ajax возвращает мне сообщение «Success», но когда я обновляю местоположение окна с помощью JS, данные пользователя не доступны из шаблона блейда.Вот мой код

Мой контроллер

  protected function authenticated(Request $request)
{
    $auth = false;

    if (Auth::attempt(['email' => $request->email, 'password' => $request->password])) {
        $auth = true; // Success
        $request->session()->put('current_user',Auth::user());

    }

    if ($request->ajax()) {
        return response()->json([
            'success' => true,
            'auth' => $auth,
            'intended' => URL::previous()
        ]);
    } else {
        return redirect()->intended(URL::route('contact'));
    }
    return redirect(URL::route('login_page'));
}

Мой Ajax

 $(document).ready(function () {

        var loginForm = $("#loginForm");
        loginForm.submit(function(e){
            e.preventDefault();
            var formData = loginForm.serialize();

            $.ajaxSetup({
                headers: {
                    'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
                }
            });

            $.ajax({
                url:"{{ route('ajax_login') }}",
                type:'POST',
                data:formData,
                success:function(data){
                    // console.log(data);
                    window.location.href = '/'
                },
                error: function (data) {
                    console.log('failed');
                }
            });
        });

Мой маршрут

    Route::post('/user-login', 'Auth\LoginController@authenticated')->name('ajax_login');

1 Ответ

0 голосов
/ 23 мая 2018

Это потому, что при обновлении с использованием window.location.reload все файлы javascript будут перезагружены и переменные будут очищены.Вы можете хранить свои данные в локальном хранилище window.localStorage.putItem('key', object) или напрямую использовать их с помощью jQuery, это зависит от вашей потребности.

Надеется, что это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...