Авторизация

Как сделать авторизацию на сайте используя AJAX 

Ниже пример как это сделать с нуля, основной код, другой вариант можно просто установить модуль Авторизации и регистрации по номеру телефона ( также по логину и email), в котором уже все работает по AJAX  (без перезагрузки страницы) 

  Используя модуль Простое API можно используя jQuery, после ввода пользователем своих данных для входа всплывающем окне авторизации сделать AJAX запрос с соответствующим методом и результат отобразить, если это ошибка, или перезагрузить страницу с помощью javascript в случае успешного входа

AJAX запрос

$.ajax({    url: '/api/',
    type: 'POST',
    dataType: 'json',
    data: {
        sessid: BX.bitrix_sessid(),
        method: 'user.auth',
       login : $('input[name="login"]').val(),
       password : $('input[name="password"]').val()
    },
    error: function (r) {
        
    },
    success: function (r) {
        
        if (!!r.response) {
            
               location.reload();
            
        }
        else if (!!r.error) {
            alert( r.error.error_msg);           
        }
    }
});


Обработчик запроса, файл - /api/user/auth.php

<?if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED !== true) {
   die();
}

if (!$this->get('login') || strlen(trim($this->get('login'))) < 1) {
    return $this->setError('Укажите логин или email!', '1');
}

if (!$this->get('password') || strlen(trim($this->get('password'))) < 1) {
    return $this->setError('Укажите пароль!', '1');
}


$arAuthResult = $USER->Login($this->get('login'), $this->get('password'), "Y");
if(isset($arAuthResult['TYPE']) && $arAuthResult['TYPE'] == 'ERROR')
{
    $this->setError($arAuthResult['MESSAGE'], 3);
}
else
{
    $this->setResult(array(
        'msg' => 'Вы успешно авторизованы!'
    ));
}