jquery ajax – возвращает json или plain html лучше

Когда время возвращается из ajax, я должен вернуться как json encode и использовать jquery.parseJSON и использовать document.createElement и добавить данные внутри только что созданного элемента.

или лучше вернуться в виде html-текста?

пример,

<div id="contentcontainer"></div> $.ajax({ type: "POST", url: "some.php", data: "name=John", success: function(msg){ msgObj = jquery.parseJSON(msg); var div = document.createElement('div'); div.style.color="red"; $(div).append(msgObj.name); $('#contentcontainer').append(div); } }); //some.php if($_POST['name']){ echo json_encode( array('name'=>$_POST['name']) ); } 

Или я должен так поступить?

 <div id="contentcontainer"></div> $.ajax({ type: "POST", url: "some.php", data: "name=John", success: function(msg){ $('#contentcontainer').append(msg); } }); //some.php if($_POST['name']){ echo '<div style="color:red">'.$_POST['name'].'</div>'; } 

Поправлено … извините за мою плохую грамматику

Конечно, это всего лишь пример, в реальном случае у него будет много данных, может быть в формате html-таблицы.

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

если у него много данных, тогда мне нужно написать много документа document.createElement (). и он потребляет время для записи, как этот document.createElement ('table'); document.createElement ( 'тр');

вместо (Вернуть как HTML и просто добавить в контейнер)

Для меня я думаю, что второй формат (возврат HTML) проще.

Но не уверен в производительности, что лучше?

Пожалуйста, порекомендуйте.

У Себастьяна и Заина есть действительные баллы. Это зависит от того, что вы говорите.

Если вы хотите уменьшить пропускную способность своего сервера, то вам следует вернуть JSON и создать свой экран с помощью javascript на стороне клиента.

Однако, если ваш набор данных велик, на большинстве машин, создающих клиентскую панель дисплея, может отставать браузер и заставить пользовательский интерфейс перестать отвечать на запросы. Если это важно для вас, вы можете подумать о возврате HTML с сервера.

Да, вы должны вернуть HTML, если у вас нет манипуляции / интерпретации, чтобы сделать результат вашего вызова AJAX.

Нет, я бы не рекомендовал возвращать html с php-страницы. только возвращать данные json и анализировать их на стороне клиента и показывать в пользовательском интерфейсе. потому что html всегда будет тяжелее json. поэтому, если вы используете json, это сэкономит вам bandwidth .

В случае, если вам нужен пример, просто зайдите и проверьте, что делает twitter , они только возвращают json, а затем манипулируют json на стороне клиента.