BX.ajax.runComponentAction
BX.ajax.runComponentAction(component, action[, config])
BX.ajax.runComponentAction - это метод для запуска аякс-действий в компоненте, который возвращает BX.Promise. Если был просрочен csrf-токен, то он сам попробует его восстановить (выполняется только одна попытка) и повторить запрос. Если от сервера пришёл ответ, в котором status не равен success
, то promis'y выполняется reject.
Параметры
Параметр | Описание | С версии |
---|---|---|
component {string} | Полное имя компонента, куда шлём запрос. Например, bitrix:main.post.form или vendor:example. | |
action {string} | Действие, которое необходимо запустить. Например, greet. | |
config {Object} | Параметры:
|
Если ответ не будет содержать ключи data и status, запрос будет обрабатываться с ошибкой Network Error.
Пример
Представим, мы делаем аякс-запрос на компонент vendor:example из примера. И вызываем там действие greet.
BX.ajax.runComponentAction('vendor:example', 'greet', { mode: 'class', //это означает, что мы хотим вызывать действие из class.php data: { person: 'Hero!' //данные будут автоматически замаплены на параметры метода }, analyticsLabel: { viewMode: 'grid', filterState: 'closed' } }).then(function (response) { console.log(response); /** { "status": "success", "data": "Hi Hero!", "errors": [] } **/ }, function (response) { //сюда будут приходить все ответы, у которых status !== 'success' console.log(response); /** { "status": "error", "errors": [...] } **/ });
Дополнительно
- Контроллеры в курсе "Разработчик Bitrix Framework".
Сообщение не промодерировано, возможны ошибки и неточности.
|
||||||||||||
Оказывается, что есть не только объект data и json, но и getParameters
Он нужен, когда в конфиге установлен метод GET (а в описании не указано, что есть еще поле method и объекта config) Ищите в файле
В итоге GET запрос на Action компонента в class.php выглядит следующим образом:
| ||||||||||||
Сообщение не промодерировано, возможны ошибки и неточности.
|
Сообщение не промодерировано, возможны ошибки и неточности.
|
Сообщение не промодерировано, возможны ошибки и неточности.
|
Вот напрашивается пояснение за analyticsLabel... что, как, зачем?
|
© «Битрикс», 2001-2024, «1С-Битрикс», 2024
Пользовательские комментарии
Мы будем рады, если разработчики добавят свои комментарии по практическому использованию методов системы.Для этого нужно всего лишь авторизоваться на сайте
Но помните, что Пользовательские комментарии, несмотря на модерацию, не являются официальной документацией. Ответственность за их использование несет сам пользователь.
Также Пользовательские комментарии не являются местом для обсуждения функционала. По подобным вопросам обращайтесь на форумы.