Получение новой капчи

Как сделать обновление капчи на битрикс без перезагрузки страницы


Используя модуль можно сделать обновление капчи на сайте в любой форме, используя AJAX запрос при клике по картинке. После получения ответа соответственно подменить соответствующие элементы на странице.

AJAX запрос

$.ajax({    url: '/api/',
    type: 'POST',
    dataType: 'json',
    data: {
        sessid: BX.bitrix_sessid(),
        method: 'user.getCaptcha'
    },
    error: function (r) {
        
    },
    success: function (r) {
        
        if (!!r.response) {
            
             alert(r.response.sid);
            
        }
        else if (!!r.error) {
            console.log('error', r.error.error_msg);           
        }
    }
});


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

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

$sid = $APPLICATION->CaptchaGetCode();

$this->setResult(array(
    'sid' => $sid,
    'src' => '/bitrix/tools/captcha.php?captcha_sid=' . $sid
));