Когда время возвращается из 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 на стороне клиента.