Есть ли возможность для компонента StiMvcViewer изменить логику обработки ошибок?
Как минимум, интересует обработка ошибки "Таймаут обращения к серверу".
У нас в приложении другой стиль обработки ошибок.
Нам нужно, при возникновении ошибки, вызвать свою функцию Javascript.
Хочется, вместо показа диалогового окна с кнопкой ОК, убрать с помощью Javascript весь графический интерфейс от StiMvcViewer, и нарисовать предложение пользователю "Отчет очень большой, давайте построим отчет позже и пришлем Вам на электронную почту"
StiMvcViewer: кастомизация обработки ошибок
Re: StiMvcViewer: кастомизация обработки ошибок
Здравствуйте Дмитрий,
Такая возможность есть. Для этого добавьте следующий код после объявления MVC Viewer:
Вместо alert() можно вызвать свою Javascript функцию, которая отобразит ошибку.
Для скрытия интерфейса вьювера, можно установить стиль display="none" для главного контейнера вьювера:
Спасибо.
Такая возможность есть. Для этого добавьте следующий код после объявления MVC Viewer:
Код: Выделить всё
<script type="text/jscript">
jsMvcViewer1.showError = function (text) {
if (text != null && text.substr(0, 6) == "Error:") {
alert("Отчет очень большой, давайте построим отчет позже и пришлем Вам на электронную почту");
return true;
}
return false;
}
</script>
Для скрытия интерфейса вьювера, можно установить стиль display="none" для главного контейнера вьювера:
Код: Выделить всё
jsMvcViewer1.controls.viewer.style.display = "none";
Re: StiMvcViewer: кастомизация обработки ошибок
Спасибо, отличный совет!
Хотел бы уточнить, у меня эта функция, showError, похоже, вызывается и для штатного сценария: когда ошибки нет.
Да, для этого есть
но хотелось бы уточнить, это так и задумано, что она вызывается и когда ошибки нет?
Скриншот панели разработчика с остановкой в штатной ситуации прикладываю, видно, что в параметре text переданы нормальные данные
Хотел бы уточнить, у меня эта функция, showError, похоже, вызывается и для штатного сценария: когда ошибки нет.
Да, для этого есть
Код: Выделить всё
if (text != null && text.substr(0, 6) == "Error:")
Скриншот панели разработчика с остановкой в штатной ситуации прикладываю, видно, что в параметре text переданы нормальные данные
Re: StiMvcViewer: кастомизация обработки ошибок
Здравствуйте Дмитрий,
Да, верно - в самой функции реализована проверка на ошибку. Если сервер возвращает строку, начинающуюся на "Error:", то предполагается что произошла ошибка. Функция должна вернуть true, если произошла ошибка, и false если ошибки не было - это используется для останова дальнейшей обработки ответа от сервера в случае ошибки.
Спасибо.
Да, верно - в самой функции реализована проверка на ошибку. Если сервер возвращает строку, начинающуюся на "Error:", то предполагается что произошла ошибка. Функция должна вернуть true, если произошла ошибка, и false если ошибки не было - это используется для останова дальнейшей обработки ответа от сервера в случае ошибки.
Спасибо.