Я бы сказал, что Ajax-запрос точно такой же, как и не Ajax-запрос: он работает точно так же, фактически, с точки зрения протокола HTTP.
Единственное отличие состоит в том, что вы возвращаете некоторые неформатированные данные, такие как JSON или XML (эй, это то же самое, что генерирование канала ATOM ^^) , или только часть HTML стр.
Итак, я бы отнесся к ним, как к любому другому «обычному» HTTP-запросу, и разместил бы их так же, как и для запросов без Ajax.
Полу-альтернативная идея может состоять в том, чтобы иметь только одно действие в вашем контроллере: /browse/blogs
- и всегда вызывать это.
Но он обнаружит, был ли это запрос Ajax или нет, и будет:
- возвращает полную страницу, если вызывается через «обычный» запрос
- или вернуть только некоторые данные (или часть страницы), если они вызваны с помощью Ajax-запроса
Примечание: это не «дикая» идея; Например, Zend Framework предоставляет некоторые средства для облегчения этого (см. 12.8.4.3. ContextSwitch и AjaxContext )