Там действительно нет правильного / неправильного способа сделать это. Передача JSON назад, а затем использование обработки клиентского сайта для превращения этого в HTML требует меньшей пропускной способности, но большей локальной вычислительной мощности. Передача HTML обратно, использует большую пропускную способность и меньше локальной обработки (это серьезно второстепенные вопросы, только если вы говорите о чрезвычайно популярных или часто меняющихся сайтах, это может даже оказаться актуальным).
Гибкость возврата - HTML
Одним из преимуществ передачи HTML является то, что вы можете вернуть что угодно , если запрос вызывает ошибку или может генерировать разные типы данных, вы просто возвращаете другой HTML. Если вы возвращаете JSON, скрипт синтаксического анализа должен иметь дело с этими альтернативными структурами (то есть обработкой ошибок и / или алгоритмами синтаксического анализа нескольких структур).
Локальная обработка - JSON
Если вы локализуете, сортируете или формируете данные с точки зрения пользователя, может быть проще вернуть JSON, а затем использовать клиентские сценарии для интерпретации. Например, когда пользователь = 2, сообщение «Вы» вместо «Майк» может быть хорошим прикосновением к персонализации. Вы можете сделать это на стороне сервера, но теперь сценарий должен учитывать это, поэтому один и тот же запрос должен возвращать разные данные в зависимости от контекста (опять же, это невозможно). Вы можете сделать свой код сервера более универсальным, используя для этого скрипты на стороне клиента.
Местное представление - JSON
Возможно, одна команда собирает данные, но есть несколько частей страницы, которые должны быть обновлены с учетом того, что было возвращено. При использовании HTML-подхода вам либо нужны отдельные запросы, либо какой-то разделитель в вашем возвращении (с escape-символами!), И сценарий локальной обработки, чтобы решить, что и куда ... при использовании подхода JSON скрипт локальной обработки может обновить местоположения из того же единственного источника, где он был получен.