Документация для разработчиков
Темная тема

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);
	}
});

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


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

Обработчиком результата запроса является функция, получающая на вход объект 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();
	}
});



© «Битрикс», 2001-2024, «1С-Битрикс», 2024