2013-04-26 2 views
0

В настоящее время я использую JSON в результате AJAX и динамически создаю все новые элементы DOM, которые мне нужны. Но здесь я думал - правильно? Например, если мне нужно создать <table> данных, лучше построить его с помощью JS или сгенерировать на сервере и просто добавить результат на страницу?Каков наилучший способ добавления данных из AJAX?

UPDATE Теперь я делаю так:

jQuery.getJSON(url, function(result){var table = jQuery('<table/>').append([jQuery('<td/>..... 

Но также может просто так:

jQuery.get(URL, function(result){jQuery('body').append(result);}....... 
+0

вы можете использовать шаблонный двигатель, тогда вы можете использовать javascript –

+2

Что вы подразумеваете под "better"? Каковы ваши собственные критерии успеха? – Pointy

+0

Для примера таблицы это действительно зависит. Будет ли это db-запрос? Будет ли в вашей таблице применен скрипт (сортируемый, datatables и т. Д.)? У вас есть поиск? Такие «надстройки», которые покажут вам, если вам нужно пойти на сервер или ajax. Мне больше нравится клиент, потому что вы отправляетесь на хост для обработки запроса и отображения. И не в браузер клиента загружать дополнительные данные, а затем обрабатывать и создавать элементы DOM. Но если в таблице есть поиск и разбиение на страницы, лучше использовать ajax, чтобы не заставлять вас делать запрос '*' без ограничений, например. – RaphaelDDL

ответ

0

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

ясно, перемещаясь «рендеринг» на сторону клиента, будет уменьшить количество кода, передаваемого между сервером и клиентом, а также меньше ресурсов сервера будет использоваться для генерации html-кода (очевидно, мы говорим о миниатюрном различии). Однако это может стать действительно важным, если вы говорите о тысячах посетителей в Интернете.

Но если у вас были тысячи посетителей, вы бы не задали такой вопрос :) Итак, я думаю, вы должны отформатировать все на стороне сервера и пустоту беспокоиться об этом вопросе.

0

Там нет правильного или неправильного. Все зависит от того, что вам подходит лучше всего. Я лично считаю JSON хорошим универсальным форматом. То, что вам никогда не нужно делать, - это вернуть данные в виде HTML. Постарайтесь, чтобы ваши данные не имели никакого структурирования, принадлежащего слою презентации.

Для получения дополнительной информации, есть читать на Model-View-Controller

0

Это зависит от размера результата. С небольшими результатами это не имело бы никакого значения.

Но если вы отправляете много строк для таблицы, ответ JSON будет намного эффективнее, чем фактический HTML-код таблицы.

Использование механизма шаблона, такого как @Arun P Johny, в его комментарии - хороший способ обработки набора результатов JSON.

шаблонов Проверить подчеркивание http://underscorejs.org/#template

Смежные вопросы