Вызвать метод REST-сервиса с указанными параметрами BX24.callMethod
Отправка запроса
void BX24.callMethod(
String method,
Object params[,
Function callback
]
);
Метод BX24.callMethod вызывает указанный метод REST-сервиса с заданными параметрам. В качестве параметров метода выступает объект params, представляющий собой ассоциативный массив, преобразуемый в строку POST-запроса. Значениями элементов массива могут быть строки или ссылки на DOM-элементы полей формы (см. отправку файлов ниже).
В случае вызова до BX24.init выполнение запроса будет отложено.
Параметры
Обязательные параметры отмечены *
|
Название |
Описание |
|
method* |
Название метода REST API, который будет вызван |
|
params |
Параметры, передаваемые в метод. Должны соответствовать ожидаемым параметрам вызываемого метода |
|
callback |
Функция обратного вызова, которая будет выполнена после получения ответа от сервера |
Пример
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()— возвращает данные ответа метода. Тип возвращаемых данных может быть массивом, объектом или скалярным значением, в зависимости от конкретного метода APIerror()— возвращает объект ошибки, если ошибка присутствует, иundefinedв противном случае. Объект ошибки содержит поляstatusиex, гдеexвключает в себяerrorиerror_descriptionmore()— возвращает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();
}
}
});
});
Как использовать примеры в документации
Продолжите изучение
- Вызвать интерфейс регистрации нового обработчика события callBind
- Вызвать интерфейс удаления зарегистрированного обработчика события BX24.callUnbind
- Отправить пакет запросов BX24.callBatch