Как логировать клики на определенных элементах в системе
Задача: сделать фиксацию в базе кликов по определенным элементам в системе.
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
- Основные компоненты
- Возможности
- Коммуникация с пользователем
- Дизайн, стилизация, юзабилити
- Лендинги
- Универсальный API
- Примеры интеграций
- Каталоги
- Навигация
- Документы
- Дополнительные компоненты
- Продвижение, SEO
- Системные моменты Как быстро перенести решение (таблицы, формы, страницы) на другую базу? Где я могу редактировать процедуру поиска, процедуру общих элементов Layout, процедуры периодического запуска и др? Как изменить длительность показа сообщений Отслеживание изменений хранимых процедур и страниц (logChanges) Форма обратной связи по ошибкам, предложениям suggestion Как разграничивать права на уровне бизнес-логики хранимых процедур Безопасная обработка данных и проверка доступа в хранимых процедурах Использование типовой разметки в виде сниппетов для решения различных задач Работа с редактором кода в личном кабинете разработчика Логирование изменений объектов на примере хранимых процедур Как логировать клики на определенных элементах в системе Обработка старых браузеров (сообщение об устаревшем браузере) Как отследить и ограничить большое количество однородных запросов на сайте Безопасность. Как скрыть некоторые заголовки (http headers) в запросах Логирование событий в приложении (trace) Отображение сообщения об offline (Нет сети) Рабочее место разработчика через терминал Обновляемые метки времени в сообщениях на сайте Подсказка по интерфейсам хранимых процедур компонентов Защита от CSRF атак через дополнительный токен в формах Дополнительные параметры в @parameters (во многих хранимых процедурах) Как логировать события в Falcon в другую базу (чтобы ограничить рост основной базы данных) Сообщение об использовании куки (Cookies) Действия в браузере actions JSON Как искать код некоего компонента (таблицы, формы и т.д.) на странице Как сделать так, чтобы почта отправлялась асинхронно без задержек Настройка диалоговых окон и alert окошек Работа со сниппетами кода
- Системное администрирование
- HOWTO
- Таблицы
- Формы
- Загрузка файлов, картинок
- Работа с SQL
- HOWTO JS
- HOWTO Верстка
- Решение проблем
Выгода от использования Falcon Space
В 2-3 раза экономнее и быстрее, чем заказная разработка
Более гибкая, чем коробочные решения и облачные сервисы
Используйте готовые решения и изменяйте под свои потребности
Нужна бесплатная консультация?
Планируете делать веб-проект?
- Шаг 1. Создать концепт проекта
- Шаг 2. Получить оценку бюджета (КП)
- Шаг 3. Заключить договор
- Шаг 4. Создать совместно техническое задание
- Шаг 5. Поэтапная реализация проекта