'action:@selector(aMethod:)'
напишите метод так:
- (void)aMethod:(UIButton*)button
{
NSLog(@"Button clicked.");
}
Это работает для меня. Благодарю. KS.
Я думаю, что правильное решение сильно зависит от контекста. Может быть правильный ответ для данной ситуации, но не существует универсального ответа. Обычно, если я использую частичное представление, которое заменяется через AJAX, я возвращаю html. Если я выполняю действие над небольшой частью чего-либо, я использую JSON. Я, вероятно, с большей вероятностью буду использовать JSON, поскольку есть больше ситуаций, в которых он подходит, но я стараюсь выбрать лучшее решение для данной проблемы. Однако я использую ASP.NET MVC. Другие фреймворки, несомненно, имеют другие характерные решения.
Обычно при обновлении небольших частей экрана вы можете отправить JSON обратно клиенту, и клиент может легко обновить себя. Если вы пытаетесь построить сложную сетку, лучше использовать UpdatePanel.
Я буду здесь чрезвычайно прагматичен:
Это зависит от количества и сложности новой разметки.
Если вам нужно вернуть сложный фрагмент HTML, он всегда Лучше написать его на стороне сервера и вернуть в виде данных, его также проще поддерживать.
Создание сложного HTML на стороне клиента обычно непонятно даже при использовании современных js-библиотек.
С другой стороны, если ваша дополнительная разметка небольшая, вы можете создать ее с помощью js. Я никогда ничего не делал с ASP.NET AJAX, но у меня была страница asp.net, представление rails или JSP с небольшим фрагментом вроде Row Updated
это сбивает с толку.
Позвольте коду говорить с вами, если вы боретесь с кодом javascript для создания разметки на стороне клиента, возможно, это следует сделать на стороне сервера.
И наконец: не беспокойтесь слишком о размере HMTL и JSON, и если вы это сделаете, сравните запросы, чтобы увидеть, является ли разница незначительной.
Я видел, как использовались оба. В дополнение к компромиссам, перечисленным в OP, я бы добавил:
Ларри
Я считаю, что более распространенный метод - передать массу разметки (HTML / CSS) через синхронную навигацию на сайт, и старайтесь, чтобы запрос / ответ AJAX был как можно более компактным [необходима цитата].
По общему признанию, довольно редко можно увидеть необработанный HTML, возвращающийся в качестве ответа AJAX. Обычно это будет ответ JSON, так как это проще всего выполнить с помощью eval ()
с JS.
Поскольку уже большинство классов разметки и стилей необходимы в любом случае и могут использоваться «статическими» содержание, что дает вам возможность сохранить AJAX небольшим, аккуратным и по существу.