Форма входа в систему AJAX требует разрешения cookie браузера

У меня есть проект laravel, и я написал форму входа с помощью AJAX.

Но он возвращает ошибку, если браузер пользователя не разрешает файлы cookie.

И многие пользователи с браузером Safari не могут войти в систему. Как я могу это исправить?

Образец HTML:

<form id = "loginForm" class = "validate-form" role = "form" method = "POST" 
            action = "{{ url('/login') }}">
       {{ csrf_field() }}

   Email :
   <input type = "text name = "email">

   password:
   <input type = "password" name = "password">

</form>

Мой код JS:

$modal.find('form').submit(function () {
    $('.login100-form-btn').attr('disabled', true);
    $.ajax({
        type: 'POST',
        url: $(this).attr('action'),
        data: $(this).serialize(),
        dataType: 'json',
        cache: false,
        success: function (data) {...},
        error: function (xhr, ajaxOptions, thrownError) {...}
       });
    return false;
});

Часть Laravel LoginController:

protected function attemptLogin(Request $request)
{
     $credentials = $this->credentials($request);
     return $this->guard()->attempt(
        $credentials, $request->has('remember')
    );
 }

protected function sendLoginResponse(Request $request)
{
    $request->session()->regenerate();

    $this->clearLoginAttempts($request);

    if ($request->expectsJson()) {
        return response()->json([
            'ok'       => true,
            'success'  => true,
            'intended' => URL::previous(),
        ], 200);
    }

    return $this->authenticated($request, $this->guard()->user())
        ?: redirect()->intended($this->redirectPath());

}

Вы уверены, что это проблема JS, а не PHP?

Rory McCrossan 29.05.2018 09:40

Думаю, у нас недостаточно информации в вопросе, чтобы ответить вам. Однако здесь есть сильное предположение: большинство аутентификаций при входе работают с сервером, который выдает cookie для идентификации сеанса. Если вы откажетесь, вы не войдете в систему. Я думаю, что большинство людей, которые отказываются от всех файлов cookie, должны знать об этом, поскольку они не могут войти на многие сайты.

Kaddath 29.05.2018 09:40

опубликованный вами код не имеет отношения к вашей проблеме

Lelio Faieta 29.05.2018 09:40

Я отредактировал свой вопрос @LelioFaieta

Samira kalantari 29.05.2018 10:06

Нет, я не уверен. Отредактировал вопрос @RoryMcCrossan

Samira kalantari 29.05.2018 10:07

Я отредактировал свой вопрос @Kaddath

Samira kalantari 29.05.2018 10:17

Приведенной выше информации недостаточно. Проверить эту ссылку laracasts.com/discuss/channels/requests/laravel-login-with-a‌ jax

Ammar Ali 29.05.2018 10:24

кстати, в вашем $ .ajax $ (this) будет относиться к jQuery, а не к вашей форме, если вы хотите получить доступ к форме здесь, передайте объект события в обработчик событий отправки

user9628338 29.05.2018 10:52

ты прав. моя проблема решена.

Samira kalantari 29.05.2018 11:16
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
2
9
69
0

Другие вопросы по теме