JS. Реализация кастомных доработок JS по системе - Request JS

В случае необходимости реализации функционала, который не укладывается в стандартный, то необходимо создавать свои компоненты на основе JS в странице. 

Для запросов на сервер используется Custom JS Request.  

Пример запроса на сервер: 

1. Реализация запроса в JS файле от страницы (as.sys.request(module, action, parameters)):  

as.sys.request("sms", "confirm", {
            data: { code: cont.attr('data-code') },
            onSuccess: function (data) {
                if (data.result && data.data && data.data.length) {
                }
             }
});

2. Создаем хранимую процедуру для обработки действий

create PROCEDURE [dbo].[request_sms_confirm]
	@parameters DictionaryParameter READONLY,  -- or ExtendedDictionaryParameter
	@username nvarchar(32)
AS
BEGIN
        -- SELECT 1 Msg, Result
	select 'Все ок' Msg, 1 Result

        -- SELECT 2 Основные данные в виде произвольной таблицы
        select top 10 * from as_trace

        -- SELECT 3 Внешние действия

END

Внимание! @parameters также может быть и типа ExtendedDictionary параметр (когда используются большие значения). В этом случае используется Value2 для извлечения значения!

Имя процедуры должны соответствовать параметрам вызываемой JS функции (в данном случае это параметры sms и confirm).

SQL процедура выдает следующие SELECT:

  1. SELECT 1 - Result, Msg
  2. SELECT 2 - любые данные, которые приходят на JS в объекте data
  3. SELECT 3 - внешние действия (отправка Email, СМС, уведомлений и т.д.). См  Внешние действия.

Таким образом можно реализовать любую функциональность в рамках страницы. 

 

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

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

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

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