BX24.callMethod
Отправка запроса:
void BX24.callMethod( String method, Object params[, Function callback] );
Метод вызывает указанный метод REST-сервиса с указанными параметрам. В качестве параметров метода выступает объект params, представляющий собой ассоциативный массив, преобразуемый в строку POST-запроса. Значениями элементов массива могут быть строки или ссылки на DOM-элементы полей формы (см. отправку файлов ниже).
В случае вызова до BX24.init выполнение запроса будет отложено.
Пример
BX24.callMethod('user.get', {ID: 10}, function(res){ if(res.data()) { var user = res.data()[0]; if(!!user) alert('Пользователя №' + user.ID + ' зовут ' + user.NAME); } });
Обработка результата запроса
Обработчиком результата запроса является функция, получающая на вход объект ajaxResult такого вида:
ajaxResult.prototype.data = function() - функция, возвращающая ответ метода в виде массива, объекта или скаляра. См. описание конкретных методов.
Boolean|String ajaxResult.prototype.error = function() - функция, возвращающая ошибку при ее наличии и false при отсутствии.
Некоторые методы могут возвращать большие массивы данных. В этом случае данные возвращаются частями по 50 элементов (методы могут перекрывать это значение, см. описание конкретных методов). Для работы со списками объект ajaxResult имеет следующие методы:
- Boolean ajaxResult.prototype.more = function() - функция, возвращающая флаг "есть еще данные для загрузки". Применимо, если метод возвращает список данных.
- Integer ajaxResult.prototype.total = function() - функция, возвращающая общее количество доступных записей. Применимо, если метод возвращает список данных.
- Boolean|XMLHttpRequest|XDomainRequest ajaxResult.prototype.next = function([Function cb]) - функция, запрашивающая следующую страницу данных. По умолчанию будет вызван тот же самый обработчик результата запроса. Переопределить это поведение можно, установив значение параметра cb.
Пример получения постраничного списка пользователей
BX24.callMethod('user.get', {sort:'ID',order:'ASC'}, function(result){ if(result.error()) { alert('Ошибка запроса: ' + result.error()); } else { console.log(result.data()); if(result.more()) result.next(); } });
Пользовательские комментарии
Мы будем рады, если разработчики добавят свои комментарии по практическому использованию методов системы.Для этого нужно всего лишь авторизоваться на сайте
Но помните, что Пользовательские комментарии, несмотря на модерацию, не являются официальной документацией. Ответственность за их использование несет сам пользователь.
Также Пользовательские комментарии не являются местом для обсуждения функционала. По подобным вопросам обращайтесь на форумы.