Как логировать клики на определенных элементах в системе

Задача: сделать фиксацию в базе кликов по определенным элементам в системе. 

1. Разметка кнопки: 

<a href="#" class="as-logger" data-text="11" data-header="2222" data-itemid="3333">Ссылка</a>

2. В глобальном JS создаем обработчик клика для кнопки (используем механизм Request JS): 

 $(document).delegate('.as-logger', 'click', function (e) {
            var el = $(this);
            if (el.attr('data-prevent') === "1") e.preventDefault();

            as.sys.request("web", "logger", {
                data: {
					text: cont.attr('data-text') || "",
					header: cont.attr('data-header') || "",
					itemID: cont.attr('data-itemID') || ""
				},
                onSuccess: function (data) {
                    // if (data.result && data.data && data.data.length) { }
                }
            });
        });

3. В SQL процедуре для механизма Request JS обрабатываем данные по клику: 

create PROCEDURE [dbo].[request_web_logger]
	@parameters DictionaryParameter READONLY,
	@username nvarchar(32)
AS
BEGIN
	declare @text nvarchar(256) = '',  @header nvarchar(256) = '',  @itemID nvarchar(256) = ''
	select @text = Value from @parameters where [Key]='text'
	select @header = Value from @parameters where [Key]='header'
	select @itemID = Value from @parameters where lower([Key])='itemid'

	exec as_trace_warn ('logger', @header, try_cast(@itemID as int), @text, @username)

     -- SELECT 1 Msg, Result
	select 'OK' Msg, 1 Result

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

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

END

Таким образом, данные будут сохраняться в таблице as_trace. 

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

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

Falcon Space

Это снижение стоимости владения

за счет меньшего количества людей для поддержки и узкого стека разработки. Про снижение стоимости владения продуктом

Это быстрое внесение изменений

по ходу эксплуатации программы. Как создается функционал на платформе

Это простой удобный интерфейс

адаптация под мобильные устройства. Про юзабилити платформы

Нужна бесплатная консультация?
Получить оценку проекта
Создайте концепцию проекта на основе нашего шаблона и получите оценку проекта в виде КП.
Демо-сайт решений
Базисные решения, которые можно гибко адаптировать под себя: менять внешний вид, бизнес-логику и даже структуру базы данных.