Запросы Ajax, через MVC Framework (например, ColdBox) или нет? - PullRequest
2 голосов
/ 30 июля 2009

Вы отправляете запросы ajax через выбранную платформу MVC или напрямую в CFC?

Я склоняюсь к обходу MVC, так как мне не нужно 'View' из запроса ajax.

Каковы преимущества маршрутизации вызовов ajax через инфраструктуру MVC, например Coldbox?

обновление: нашел эту страницу http://ortus.svnrepository.com/coldbox/trac.cgi/wiki/cbAjaxHints но я все еще пытаюсь обдумать, какие преимущества это приносит по сравнению со сложностью, которую он вводит ...

Ответы [ 6 ]

4 голосов
/ 31 июля 2009

Луис Маджано, создатель ColdBox сказал :

Это две школы ajax Взаимодействие Генри.

Я предпочитаю прокси-подход, потому что он добавляет следующее:

  1. 1011 * Debugging *
  2. Трассировка в отладчике
  3. точки перехвата AOP
  4. Безопасность
  5. Настройка доступности
  6. Прокси-сервер будет ретранслировать модель события, чтобы я мог использовать локальный перехват точки, локальный АОП, плагины и т. д.

Другими словами, это может быть очень отслеживаемый звонок вместо простого Служба вызова CFC, который вы можете еще делаем.

Я, например, люблю, чтобы моя казнь профилировщик работает (часть холодильника отладчик), поэтому я могу видеть, когда AJAX запросы приходят и когда они приходят из. Я могу видеть запрошенные данные и данные отправлены обратно. Мне не нужно поищите в лог-файлах или попробуйте представить результаты или проблемы. Это действительно помогает в отладке.

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

4 голосов
/ 30 июля 2009

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

Ваши элементы ajax действительно являются частью представления. Как говорит Лука, представление выводит результаты модели и контроллера.

Посмотрите на это так - если бы вы создали удобный для iPhone веб-интерфейс (то есть новый View), вы бы обошли модель и контроллер?

4 голосов
/ 30 июля 2009

Генри, я делаю свои Ajax-запросы к прокси-объектам моей модели. Как правило, я нахожусь за пределами «рамок» при этом. При этом может быть (очень) необходимо использовать вашу среду, например, работать в рамках установленной модели безопасности.

2 голосов
/ 30 июля 2009

Цель "представления" в средах MVC состоит в том, чтобы показывать данных после того, как "модель" и "контроллер" сгенерировали их. Если вам не нужен «вид», то какой смысл использовать такой шаблон проектирования?

0 голосов
/ 06 ноября 2009

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

Добавление output = "false", особенно в ваш application.cfc, и его методы - это первое, что я очистил.

Я твердо верю в то, что НИКОГДА не получаю прямого доступа к ХФУ, я нахожу, что это создает долговременные проблемы, когда крупный рефакторинг может захотеть объединить или устранить компоненты, прямой доступ может сделать это сложнее, чем должно быть, особенно если сторонний пользователь использует ваш ajax из другого домена (например, удаленное взаимодействие с флеш-памятью).

+ 1 к ответу Стива.

0 голосов
/ 30 июля 2009

Я согласен с Лукой. Он также обходит любую логику очистки и фильтрации, которая есть в вашем стеке MC. Это в основном сводит на нет любые виды обработки запросов, которые вы можете иметь или не иметь.

...