Формы. Вызов API по кнопке в форме после выполнения действия

Задача. Необходимо вызвать некий метод АПИ после выполнения основного действия в форме в SaveItem

Решение. 

В SaveItem используем SELECT 2 Внешнее действие вызов API apirequest (подробности здесь - https://falconspace.ru/docs/vneshnie-deystviya)

В SELECT 1 ставим 1 Result, ' ' Msg (когда пробел идет в Msg, не выводится стандартное окошко результата).

Для обработки ответа от API необходимо задействовать JS коллбек формы для SaveItem.  Подробности - https://falconspace.ru/docs/formy--kak-dobavit-kollbek-posle-zagruzki-formy-i-posle-sokhraneniya-formy

В data.additionalData приходит результат внешних действий. Его необходимо верно распарсить через JSON.parse и извлечь результаты и вывести через alert. 

В консоли браузера (F12 / Console) можно посмотреть, что приходит в additionalData по структуре - это JSON объект, сериализованный в строку. 

Пример подобного подхода: 

as.formcallbacks["form1_saveItem"] = function(data){
    var ad = JSON.parse(data.additionalData);
    console.log(ad, "form1_saveItem")
    if(ad){
      	var el = ad[0];
    	if(el.result){
          	var msg = el.msg || "OK";
            for(var i=0; i< el.items.length; i++){
              var elx = el.items[i];
              if(elx.key=="spCallbackResult"){
                   ....                          
              }
            }          
        	as.sys.bootstrapAlert(msg, {type: "success", delay: 100000, hidePrev: true});
          	as.sys.closeDialog();
            as.initControls($('body'));
        }else{
        	as.sys.bootstrapAlert(el.msg || "Operation error", {type: "danger",  delay: 100000, hidePrev: true});
        }       
    }
  }

 

 

 

Falcon Space - функциональная веб-платформа разработки на узком стеке MS SQL/Bootstrap. Вводная по Falcon Space
Насколько полезной была статья?

Google поиск по нашей документации

Выгода от использования Falcon Space

В 2-3 раза экономнее и быстрее, чем заказная разработка
Более гибкая, чем коробочные решения и облачные сервисы
Используйте готовые решения и изменяйте под свои потребности
Нужна бесплатная консультация?
Планируете делать веб-проект?
Сайт использует Cookie. Правила конфиденциальности OK