Я почав створювати веб-додаток за допомогою Joomla Framework . Він складається з простої веб-сторінки, яка відображатиметься в iFrame разом з API, який буде використовуватися для оновлення вмісту за допомогою AJAX.
Я стежив за початком роботи з композитором та Джомлою! статті та створити та запустити додаток Framework . Я налаштував вихід HTML за замовчуванням, щоб він працював на моєму iFrame, і запустив API. Я використовував Новини як шаблон і створив контролер, модель, таблицю та подання для свого 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? Як я можу встановити правильний тип вмісту чи є кращий підхід до повернення JSON?
Будемо дуже вдячні за будь-яку пораду, яка може бути надана щодо найкращого способу використання рамки Joomla для створення API.