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