Используя Ajax, лучше генерировать дополнительную разметку в сервере или стороне клиента?

'action:@selector(aMethod:)' напишите метод так:

- (void)aMethod:(UIButton*)button
   {
         NSLog(@"Button  clicked.");
  }

Это работает для меня. Благодарю. KS.

8
задан Cœur 19 March 2017 в 07:06
поделиться

5 ответов

Я думаю, что правильное решение сильно зависит от контекста. Может быть правильный ответ для данной ситуации, но не существует универсального ответа. Обычно, если я использую частичное представление, которое заменяется через AJAX, я возвращаю html. Если я выполняю действие над небольшой частью чего-либо, я использую JSON. Я, вероятно, с большей вероятностью буду использовать JSON, поскольку есть больше ситуаций, в которых он подходит, но я стараюсь выбрать лучшее решение для данной проблемы. Однако я использую ASP.NET MVC. Другие фреймворки, несомненно, имеют другие характерные решения.

5
ответ дан 5 December 2019 в 13:01
поделиться

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

0
ответ дан 5 December 2019 в 13:01
поделиться

Я буду здесь чрезвычайно прагматичен:

Это зависит от количества и сложности новой разметки.

Если вам нужно вернуть сложный фрагмент HTML, он всегда Лучше написать его на стороне сервера и вернуть в виде данных, его также проще поддерживать. Создание сложного HTML на стороне клиента обычно непонятно даже при использовании современных js-библиотек. С другой стороны, если ваша дополнительная разметка небольшая, вы можете создать ее с помощью js. Я никогда ничего не делал с ASP.NET AJAX, но у меня была страница asp.net, представление rails или JSP с небольшим фрагментом вроде

Row Updated

это сбивает с толку.

Позвольте коду говорить с вами, если вы боретесь с кодом javascript для создания разметки на стороне клиента, возможно, это следует сделать на стороне сервера.

И наконец: не беспокойтесь слишком о размере HMTL и JSON, и если вы это сделаете, сравните запросы, чтобы увидеть, является ли разница незначительной.

3
ответ дан 5 December 2019 в 13:01
поделиться

Я видел, как использовались оба. В дополнение к компромиссам, перечисленным в OP, я бы добавил:

  • Лучше отправлять информацию в виде данных, а не html, поскольку тогда у вас будет больше вариантов того, как вы будете ее использовать.
  • Что такое ваш уровень комфорта с JS?
  • Вы можете использовать несколько пользовательских интерфейсов (на разных страницах) и можете повторно использовать данные на странице. Например, отображать данные в краткой и длинной формах, но использовать один и тот же источник данных. - предоставление клиенту возможности переключаться между ними на странице без необходимости отключения сервера.
  • Для создания шаблонов на стороне клиента доступна чистая JS-реализация системы жидких шаблонов: http://www.mattmccray.com / archive / 2008/12/11 / Liquidjs_A_Non-Evaling_Templat

Ларри

4
ответ дан 5 December 2019 в 13:01
поделиться

Я считаю, что более распространенный метод - передать массу разметки (HTML / CSS) через синхронную навигацию на сайт, и старайтесь, чтобы запрос / ответ AJAX был как можно более компактным [необходима цитата].

По общему признанию, довольно редко можно увидеть необработанный HTML, возвращающийся в качестве ответа AJAX. Обычно это будет ответ JSON, так как это проще всего выполнить с помощью eval () с JS.

Поскольку уже большинство классов разметки и стилей необходимы в любом случае и могут использоваться «статическими» содержание, что дает вам возможность сохранить AJAX небольшим, аккуратным и по существу.

1
ответ дан 5 December 2019 в 13:01
поделиться
Другие вопросы по тегам:

Похожие вопросы: