Этот пост, вероятно, нуждается в некоторой модификации. Я сделаю все возможное, чтобы объяснить ...
В основном, как тестер, я заметил, что иногда программисты, использующие веб-интерфейсы на основе шаблонов, помещают много вещей в обработчики загрузки, которые затем выполняют такие вещи, как загрузка элементов меню, изменение значений отображения в формах и т. Д.
Например, страница, отображающая конфигурацию вашей сети, загружает пустые (или фиктивные значения) для информации об IP, а затем загружает блок переменных в функции загрузки, которая устанавливает значения при визуализации страницы.
Мой опыт (и интуитивное чувство) заключается в том, что это действительно плохая практика по нескольким причинам.
1- Если страница отображается в среде, в которой отключен Javascript (например, при использовании «Отправить страницу»), страница не будет отображаться должным образом в этой среде.
2 - HTML-страницу становится очень трудно диагностировать, потому что то, что на самом деле на экране, нужно соединить, выполнив javascript в вашей голове (эта проблема менее заметна с Firefox из-за Firebug).
3- В большинстве случаев это не делается с помощью стандартной практики функций среды. Другими словами, на бэкэнде нет сервиса, бэкэнд-код выглядит так же спагетти, как и полученный HTML.
и, на самом деле, не причина, а еще корреляция:
Я заметил, что большинство кодеров, которые делают это, обычно являются кодерами, которые имеют много связанных с кодом ошибок или критических ошибок интеграции.
Итак, я не говорю, что мы не должны использовать javascript, я думаю, что я говорю, что когда вы создаете страницу динамически, динамическое поведение должно быть изолировано от серверной части, и вы должны избегать изменения отображаемая информация после загрузки и отображения страницы.