Вызвать метод REST-сервиса с указанными параметрами BX24.callMethod

Отправка запроса

void BX24.callMethod(
            String method,
            Object params[,
                Function callback
            ]
        );
        

Метод BX24.callMethod вызывает указанный метод REST-сервиса с заданными параметрам. В качестве параметров метода выступает объект params, представляющий собой ассоциативный массив, преобразуемый в строку POST-запроса. Значениями элементов массива могут быть строки или ссылки на DOM-элементы полей формы (см. отправку файлов ниже).

В случае вызова до BX24.init выполнение запроса будет отложено.

Параметры

Обязательные параметры отмечены *

Название
тип

Описание

method*
string

Название метода REST API, который будет вызван

params
object

Параметры, передаваемые в метод. Должны соответствовать ожидаемым параметрам вызываемого метода

callback
function

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

Пример

BX24.init(() => {
            BX24.callMethod('user.get', { ID: 10 }, (result) => {
                if (result.error())
                {
                    console.error(result.error());
                }
                else if (result.data())
                {
                    const user = result.data()[0];
                    if (user)
                    {
                        alert('Пользователя №' + user.ID + ' зовут ' + user.NAME);
                    }
                }
            });
        });
        

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

Важно

В коробочных версиях методы REST вызываются через метод BX.rest.callMethod(), а не через BX24.callMethod().

Обработка результата запроса

Обработчиком результата запроса является функция. Она получает на вход объект ajaxResult, который предоставляет следующие методы:

  • data() — возвращает данные ответа метода. Тип возвращаемых данных может быть массивом, объектом или скалярным значением, в зависимости от конкретного метода API
  • error() — возвращает объект ошибки, если ошибка присутствует, и undefined в противном случае. Объект ошибки содержит поля status и ex, где ex включает в себя error и error_description
  • more() — возвращает true, если есть еще данные для загрузки, и false в противном случае. Применимо, если метод возвращает список данных
  • total() — возвращает общее количество доступных записей. Применимо, если метод возвращает список данных
  • time() — возвращает объект с информацией о времени выполнения запроса. Может возвращать undefined, в случае если информация недоступна.
  • next(cb: Function) — запрашивает следующую страницу данных. Если передана функция cb, она будет использована в качестве обработчика результата для следующего запроса. Возвращает false, если больше нет данных для загрузки, или объект XMLHttpRequest, если запрос был инициирован.

Пример получения постраничного списка пользователей

BX24.init(() => {
            BX24.callMethod('user.get', { sort: 'ID', order: 'ASC' }, (result) => {
                if (result.error())
                {
                    alert('Ошибка запроса: ' + result.error());
                }
                else
                {
                    console.log(result.data());
                    if (result.more())
                    {
                        result.next();
                    }
                }
            });
        });
        

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

Продолжите изучение