Возвращать HTML из ответа (запроса) сервера, хорошая или плохая практика?

JSON очень универсален и легок, этого будет достаточно, чтобы получить все ваши ответы в виде JSON, однако это хорошая идея, чтобы подумать, как все будет сделано, как будет легче и что идеально подходит для ваших потребностей проекта.

В этой статье основной целью является очистить свой разум от частой проблемы, когда в ответ используется json?

Когда плохая практика получает HTML

  • Неправильно получать HTML, если вы заканчиваете анализировать его как данные, например:
$.get("http://url.com/response-service",function(html){
var myObject = JSON.parse(html);
console.log(myObject);
});

Когда плохая практика получить JSON

  • Используйте эти данные JSON для визуализации чего-либо в DOM, вместо этого вы должны отправить html-ответ, который будет добавлен в div, который мы хотим. Потому что вы сделаете это, например, немного сложнее:
// the response structure will be something like
// [{article_id:"oijqw8",content:"my content",title:"My title"},{article_id:"oijswee9",content:"my other content",title:"My title 2"}]
$.getJSON("http://myurl.com/response-service",function(data){
for(var i = 0; i < data.length;i++){
var article = data[i];
var html = '
'+article.title+'
';
html += '
'+article.content+'
';
$('#list-div').append(html);
}
});

Многие бэкэнд-разработчики, как правило, отправляют части html в качестве ответа, а затем отображают его в DOM, но они не делают это в качестве хорошей практики, некоторые разработчики не так хорошо справляются с javascript и решают сделать весь процесс сервер как таковой облегчает задачу для них.

Вопросы для рассмотрения

Вам нужно проанализировать, когда каждый случай будет соответствовать вашим потребностям, иногда вам нужно будет сделать это несколько раз, что будет лучше? Обработайте это один раз на вашем сервере и используйте его во многих местах (что делает код более понятным) или визуализируйте с помощью javascript в каждом представлении.

Возвращать html или json данные из ответа в любом случае не будет плохо, если вы знаете, почему отправляете это и как правильно обрабатывать, следуя рекомендациям.

В зависимости от «производительности», в которой нуждается ваше приложение, например, время загрузки, которое вы можете выбрать, отправьте JSON вместо длинного HTML-ответа (например, на мобильных устройствах), как я уже говорил, все зависит от ваших потребностей и того, как вам нужно справиться.

Время разработки - это еще одна важная вещь, которую нужно учитывать, отметить, что для вас проще всего, сделать JSON-ответ и обработать его с помощью javascript? или отправьте ответ html из бэкэнда и просто добавьте его с помощью javascript ?.

Ссылка на основную публикацию
Adblock
detector