ARMbrain
@ARMbrain
Веб-Разработчик

Ajax Логин и регистрация LARAVEL 5.5, как сделать?

Хочу реализоавть Логин и регистрация LARAVEL 5.5, на ajax. как могу сделать? на LoginController никак не могу получить данные на Request, просто пустой, или другие оптималные какие варианты есть?

Спасибо Вам
  • Вопрос задан
  • 3387 просмотров
Решения вопроса 1
ARMbrain
@ARMbrain Автор вопроса
Веб-Разработчик
JS
$('#login-form').on('submit', function(e){
   e.preventDefault();
    $.ajax({
        url: $(this).attr('action'),
        data: {"username":'asdasdasd',"password":'564a6sd'},
        headers: {
            'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
        },
        type: 'POST',
        dataType: 'JSON',
        success: function (html) {
            console.log(html);
        }
    });

   console.log('Submit');
});


Routes
Route::post('/login', ['uses'=>'Auth\LoginController@authenticated']);


LoginController.php
<?php

namespace App\Http\Controllers\Auth;

use App\Http\Controllers\Controller;
use Illuminate\Foundation\Auth\AuthenticatesUsers;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Request;
use Illuminate\Support\Facades\Validator;

class LoginController extends Controller
{
    /*
    |--------------------------------------------------------------------------
    | Login Controller
    |--------------------------------------------------------------------------
    |
    | This controller handles authenticating users for the application and
    | redirecting them to your home screen. The controller uses a trait
    | to conveniently provide its functionality to your applications.
    |
    */

    use AuthenticatesUsers;

    /**
     * Where to redirect users after login.
     *
     * @var string
     */
    protected $redirectTo = '/home';

    /**
     * Create a new controller instance.
     *
     * @return void
     */
    public function __construct()
    {
        $this->middleware('guest')->except('logout');
    }

    public function username()
    {
        return 'username';
    }

    public function authenticated(Request $request)
    {
       //
		return $request->all();
    }
}
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@eukoch
Ошибка в Routes. Нужно вызывать метод login а не authenticated

Route::post('/login', ['uses'=>'Auth\LoginController@login']);


Laravel будет перенаправлять при успешном входе в authenticated. Вот как там устроен этот фрагмент в protected function handleUserWasAuthenticated

if (method_exists($this, 'authenticated')) {
        return $this ->authenticated($request, Auth::user());
    }


Но основной обработчик все же login.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы