Я начал создавать веб-приложение с использованием Joomla Framework . Он состоит из простой веб-страницы, которая будет отображаться в iFrame вместе с API, который будет использоваться для обновления содержимого с помощью AJAX.
Я следил за началом работы с Composer и Joomla! статья и есть Framework App и работает. Я настроил вывод HTML по умолчанию для работы с iFrame и начал работу с API. Я использовал News в качестве шаблона и создал контроллер, модель, таблицу и представление для своего API, и все это прекрасно работает. Затем я создал очень простой шаблон Twig, который возвращает JSON-представление моих данных, например:
{{ items|json_encode|raw }}
Пока все хорошо, но я возвращаю этот заголовок, который вызовет проблемы при использовании AJAX с jQuery:
Content-Type:text/html; charset=utf-8
Я думал, что это будет простой случай добавления этого, но независимо от того, где я его поместил, он не меняет возвращаемый заголовок:
$this->app->setHeader('Content-Type', 'application/json', true);
Я знаю, что setHeader работает так, как будто я меняю имя, вижу новый заголовок, возвращенный, поэтому я предполагаю, что он перезаписывается позже при выполнении.
Итак, мой вопрос: правильно ли я поступаю? Мой взгляд расширяет DefaultHtmlView, который кажется неправильным, я должен создать DefaultJsonView? Как я могу установить правильный Content-Type или есть лучший подход для возврата JSON?
Будем весьма благодарны за любые советы, которые могут быть даны о наилучшем способе использования Joomla Framework для создания API.