Best practices при обработке серверных ошибок при Ajax запросе?
Добрый день.
Прошу совета у аудитории хабра по лучшим практикам обработки серверных ошибок при Ajax запросе. Чтобы было понятно о чем идет речь, приведу пример.
Допустим, у нас есть страница с полями и кнопкой. Обычная такая страница. При нажатии кнопки происходит Ajax-запрос, к какому-нибудь методу контроллера, а контроллер честно выкидывает исключение (без разницы какое и по каким причинам). На клиенте, разумеется, это можно отловить и соответствующим образом обработать. Внимание вопрос: как наилучшим образом показать пользователю, что возникла ошибка?
Есть разные варианты. Например показать окошко alert, сделать редирект на страницу Error, перезагрузить страницу, никак не реагировать и т.д.
Ну вот собственно и все, надеюсь аудитория мне подскажет лучший вариант.
Если вы отправляли почту через ajax, нужно честно сказать, что при отправке почты произошла ошибка. Пусть это будет не alert, но заметный div с сообщением нужен.
А если это было просто обновление списка комментариев к записи в фоновом режиме, то лучше всего промолчать, либо просто перезагрузить страницу без ajax.
Самое общее правило, какое я могу сформулировать: если ошибка произошла в ответ на явное действие пользователя, нужно сообщить, иначе — если это неважно для общего функционала сайта, желательно обработать по-тихому. Но вообще важен контекст. Нет общего способа сообщения о любых ошибках в любых ситуациях.