Ajax-запросы через одну точку входа - PullRequest
1 голос
/ 05 ноября 2010

Я создаю небольшую фреймворк в стиле mvc с единой точкой входа через индекс в общей папке. Теперь я передаю все свои запросы ajax и направляю их на соответствующие контроллеры в каталоге частного приложения.

Какие плюсы и минусы в том, чтобы делать это так?

Должен ли я делать это так? или по-другому?

Ответы [ 3 ]

2 голосов
/ 05 ноября 2010

Изначально наверное не много минусов. Как отметил Пикл, в одной области все легко найти.

Я бы сказал, что функциональность должна оставаться в контроллере, где она принадлежит. Просто потому, что вход и выход AJAX не должны иметь значения. Фактически, в контроллере может быть метод, такой как метод show user, который может либо выводить страницу HTML, либо данные AJAX. Нет причин помещать эти вещи в отдельный контроллер AJAX, когда он принадлежит пользовательскому контроллеру.

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

Мы развернули нашу собственную инфраструктуру, и мы создали маршрутизатор, который обрабатывает входящий трафик. И у вызовов ajax есть конец .json. Затем это становится доступным для контроллеров, и если контроллер поддерживает запросы AJAX, он будет выводить действительные данные JSON вместо передачи данных в представление и последующего отображения HTML.

0 голосов
/ 05 ноября 2010

Единственным потенциальным недостатком может быть любая «дорогая» начальная загрузка, которая не нужна AJAX, что может замедлить время отклика. Однако APC может помочь или отрицать это, в зависимости от того, что вы делаете, и вы, возможно, могли бы адаптировать процесс начальной загрузки для обработки легких запросов.

FWIW, обычный метод Drupal для AJAX направляет все через то же место, что и обычные страницы. Это также сделано, чтобы помочь обеспечить запасной вариант, когда у пользователя не включен JS.

0 голосов
/ 05 ноября 2010

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

Минусы: нет, я не могу придумать.

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